为什么会出现这样的问题啊,搞不懂了。
#include<stdio.h>
#include<stdlib.h>
int main() {
FILE *fp1;
int err;
char ch, filename[10];
printf("请输入文件名:");
scanf_s("%s", filename,10);
getchar();
if ((err= fopen_s(&fp1,filename, "w")) == 0) {
printf("cannot open file\n");
exit(0);
}
printf("请输入要写入的字符串:");
ch = getchar();
while (ch != '#') {
fputc(ch, fp1);
putchar(ch);
ch = getchar();
}
fclose(fp1);
putchar(10);
return 0;
}
修改处见注释,供参考:
#include<stdio.h>
#include<stdlib.h>
int main() {
FILE *fp1;
int err;
char ch, filename[10];
printf("请输入文件名:");
scanf_s("%s", filename,10);
//getchar(); 修改
if ((err = fopen_s(&fp1,filename, "w")) != 0) {
//if ((err= fopen_s(&fp1,filename, "w")) == 0) 修改
printf("cannot open file\n");
exit(0);
}
printf("请输入要写入的字符串:");
//ch = getchar(); 修改
while ((ch = getchar())!= '#') { // 修改
fputc(ch, fp1);
putchar(ch);
//ch = getchar(); 修改
}
fclose(fp1);
putchar(10);
return 0;
}
文件的打开还没写
fopen_s只是检验是否打开
解决啦,多谢