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;
}
运行结果如下:
相关推荐
papership32 分钟前
【入门级-C++程序设计:12、文件及基本读写-文件的基本概念&文本文件的基本操作】
开发语言·c++·青少年编程
SaleCoder2 小时前
用Python构建机器学习模型预测股票趋势:从数据到部署的实战指南
开发语言·python·机器学习·python股票预测·lstm股票模型·机器学习股票趋势
KoiHeng2 小时前
部分排序算法的Java模拟实现(复习向,非0基础)
java·算法·排序算法
玩代码7 小时前
备忘录设计模式
java·开发语言·设计模式·备忘录设计模式
技术猿188702783518 小时前
实现“micro 关键字搜索全覆盖商品”并通过 API 接口提供实时数据(一个方法)
开发语言·网络·python·深度学习·测试工具
放飞自我的Coder8 小时前
【colab 使用uv创建一个新的python版本运行】
开发语言·python·uv
艾莉丝努力练剑8 小时前
【数据结构与算法】数据结构初阶:详解顺序表和链表(四)——单链表(下)
c语言·开发语言·数据结构·学习·算法·链表
zyhomepage8 小时前
科技的成就(六十九)
开发语言·网络·人工智能·科技·内容运营
珊瑚里的鱼9 小时前
第十三讲 | map和set的使用
开发语言·c++·笔记·visualstudio·visual studio
逑之9 小时前
C++笔记1:命名空间,缺省参数,引用等
开发语言·c++·笔记