建筑设计院职位:c程序调试

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 10:43:30
#include<string.h>
#include<stdio.h>
main()
{
FILE *fp;
char su[120];
char test[120];
fp=fopen("su.txt","r+");
printf("please enter one sentence:\n");
scanf("%s",su);
printf("%s\n",su);
fprintf(fp,"%s",su);
fseek(fp,0,SEEK_SET);
fgets(test,120,fp);
printf("\nthe sentence your entered is:\n");
printf("%s\n",test);
fclose(fp);
}
我试了一下
它提示说文件File open error!
该怎么改呢
{{是不是当前目录下没有su.txt这个文件呢?你先在当前目录下建一个这个文件吧}}
确实是这个原因
但是那样的话
是不是有损程序员的威名
谢谢各位
我已经改好了
希望大家再写点什么
随便吧

main()
{
FILE *fp = NULL;
char su[120];
char test[120];
if(NULL == (fp=fopen("su.txt","r+")))
{//这里需要判断是否正确打开,如果原来文件不存在就会出现非法操作
printf("File open error!\n");
exit(-1);
}
printf("please enter one sentence:\n");
scanf("%s",su);
printf("%s\n",su);
fprintf(fp,"%s",su);
fseek(fp,0,SEEK_SET);
fgets(test,120,fp);
printf("\nthe sentence your entered is:\n");
printf("%s\n",test);
fclose(fp);
}

/*
ps:
文件使用方式 意 义
“rt” 只读打开一个文本文件,只允许读数据
“wt” 只写打开或建立一个文本文件,只允许写数据
“at” 追加打开一个文本文件,并在文件末尾写数据
“rb” 只读打开一个二进制文件,只允许读数据
“wb” 只写打开或建立一个二进制文件,只允许写数据
“ab” 追加打开一个二进制文件,并在文件末尾写数据
“rt+” 读写打开一个文本文件,允许读和写
“wt+” 读写打开或建立一个文本文件,允许读写
“at+” 读写打开一个文本文件,允许读,或在文件末追加数 据
“rb+” 读写打开一个二进制文件,允许读和写
“wb+” 读写打开或建立一个二进制文件,允许读和写
“ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据

因为默认打开方式一般是txt,所以at就是a+,以此类推
*/

是不是当前目录下没有su.txt这个文件呢?你先在当前目录下建一个这个文件吧