C语言练习题-C语言练习题实例97
题目:编写一个程序,从键盘输入一些字符,并将它们逐个送到磁盘上保存,直到输入字符 '#' 为止。
程序分析:在这个程序中,我们使用 FILE
结构来操作文件。首先,我们要求用户输入要保存的文件名称,并将其存储在字符数组 filename
中。然后,我们尝试打开该文件,如果打开失败则输出错误信息并退出程序。
接下来,我们提示用户可以开始输入要保存的字符,并使用 getchar()
函数逐个读取字符。我们使用循环判断读取的字符是否为 '#',如果不是则将字符逐个写入文件中。
最后,我们关闭文件并结束程序。
实例
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp = NULL;
char filename[25];
char ch;
printf("输入你要保存到的文件的名称:\n");
gets(filename);
if ((fp = fopen(filename, "w")) == NULL)
{
printf("error: cannot open file!\n");
exit(0);
}
printf("现在你可以输入你要保存的一些字符,以#结束:\n");
getchar();
while ((ch = getchar()) != '#')
{
fputc(ch, fp);
}
fclose(fp);
system("pause");
return 0;
}
在这个程序中,我们首先声明了一个指向 FILE
的指针 fp
,以及一个字符数组 filename
和字符 ch
。然后,我们使用 gets()
函数从用户输入获取要保存的文件名称,并尝试打开该文件。
如果文件打开失败,则输出错误信息并退出程序。如果文件打开成功,则提示用户可以开始输入要保存的字符。
在循环中,我们使用 getchar()
函数逐个读取字符,直到读取到字符 '#' 为止。然后,我们使用 fputc()
函数将字符逐个写入文件中。
最后,我们关闭文件,并使用 system("pause")
函数使程序暂停,以便用户查看输出结果。
运行程序,输入文件名称和要保存的字符,直到输入 '#' 结束。例如:
输入你要保存到的文件的名称:
test.txt
现在你可以输入你要保存的一些字符,以#结束:
www.javatiku.cn
#
这表示我们输入了字符串 "www.javatiku.cn",然后按下回车并输入'#',程序将该字符串逐个写入文件 "test.txt" 中。你可以打开该文件查看结果。