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;
}
运行结果如下:
相关推荐
弱冠少年7 分钟前
ESP-Timer入门(基于ESP-IDF-5.4)
c语言
蹦蹦跳跳真可爱5899 分钟前
Python----OpenCV(图像分割——彩色图像分割,GrabCut算法分割图像)
开发语言·图像处理·人工智能·python·opencv·计算机视觉
越城24 分钟前
C++类与对象(上)
开发语言·c++
✿ ༺ ོIT技术༻32 分钟前
剑指offer第2版:链表系列
数据结构·算法·链表
mit6.82435 分钟前
[Nagios Core] struct监控对象 | 配置.cfg加载为内存模型
c语言·开发语言
序属秋秋秋1 小时前
《C++初阶之STL》【泛型编程 + STL简介】
开发语言·c++·笔记·学习
NCHUtianlin1 小时前
JAVA生成PDF(itextpdf)
java·开发语言·pdf
yiridancan1 小时前
终极剖析HashMap:数据结构、哈希冲突与解决方案全解
java·数据结构·算法·哈希算法
满分观察网友z1 小时前
性能优化大作战:从 O(N*M) 到 O(N),我的哈希表奇遇记(1865. 找出和为指定值的下标对)
算法
点云SLAM3 小时前
二叉树算法详解和C++代码示例
数据结构·c++·算法·红黑树·二叉树算法