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;
}