C //例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。

C程序设计 (第四版) 谭浩强 例10.1

例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个"#"为止。

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法:使用指针,函数的模块化设计,动态分配内存
说明:这里要写入的文件名称为Test.txt,已经存在于该项目目录下。
c 复制代码
#include <stdio.h>
#include <stdlib.h>

void initialFile(FILE **file, char **word){
	*file = (FILE*)malloc(sizeof(FILE));
	*word = (char*)malloc(sizeof(char));
}

void inputFileName(FILE **file){
	char name[80];
	printf("Enter File Name: ");
	scanf("%s", name);
	*file = fopen(name, "r");
	if(*file == NULL){
		perror("Cannot open this file");
		system("pause");
		exit(0);
	}
	*file = fopen(name, "w+");
}

void fileInput(char *word, FILE **file){
	printf("Enter String: ");
	while((*word = getchar()) != '#'){
		fputc(*word, *file);
	}
}

int main(){
	FILE *file = NULL;
	char *word = NULL;

	initialFile(&file, &word);
	inputFileName(&file);
	fileInput(word, &file);

	fclose(file);
	putchar(10);

	system("pause");
	return 0;
}
运行结果如下:
相关推荐
wuminyu8 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
万粉变现经纪人8 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒8 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼8 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
MediaTea9 小时前
AI 术语通俗词典:C4.5 算法
人工智能·算法
Navigator_Z9 小时前
LeetCode //C - 1033. Moving Stones Until Consecutive
c语言·算法·leetcode
WBluuue9 小时前
数据结构与算法:莫队(一):普通莫队与带修莫队
c++·算法
小郑加油9 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习
AC赳赳老秦9 小时前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
风筝在晴天搁浅10 小时前
n个六面的骰子,扔一次之后和为k的概率是多少?
算法