【例10.1】从键盘输入一些字符,并逐个把它们送到磁盘上去,直到用户输入一个“#”为止。
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char ch,filename[10];
printf("请输入所用的文件名:");
scanf("%s",filename);
getchar();
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
printf("请输入一个准备存储到磁盘的字符串(以#结束):");
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
putchar(10);
return 0;
}
在VS2019下,需将源文件的fopen做些修改:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE* fp;
char ch, filename[10];
printf("请输入所用的文件名:");
scanf_s("%s", filename, (unsigned int)sizeof(filename));
getchar();
fopen_s(&fp, filename, "w");
if (fp == NULL)
{
printf("cannot open file\n");
exit(0);
}
printf("请输入一个准备存储到磁盘的字符串(以#结束):");
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
putchar(ch);
ch = getchar();
}
fclose(fp);
putchar(10);
return 0;
}