方法/步骤 1 文件的命名为awe.txt 2 所以运行的时候并不能打开文件 3 而此时把文件名称修改为awe,不带后缀名 4 文件正常打开!5 所以如果文件打不开,注意是否是这个毛病。文件如果命名为awe.txt,则c语言中应该写成这样子“awe.txt.txt”6 还有一种可能就是路径没有写对,应该将\各位\\,应为c语言中\是...
首先要检查文件还在没有,读取文件的路径对不对,再有就是打开的文件的属性设置的对不对,不在乎就这几个地方出了问题。
int main(){ FILE *fp; if((fp=fopen("D:\\学生数据.txt","r"))==NULL){ printf("open error"); } char a[100]; fgets(a,100,fp); printf("%s",a); fclose(fp); } 文档中: 啊啊啊啊 运行结果:鍟婂晩鍟婂晩 原因分析:C语言的汉字编码方式是由电脑决定的 文本文档默认的编码方式与其不...
你要打开读的文件必须已存在,已有正确内容, b 是2进制文件噢。// struct USER {...} 已定义 void main(){ FILE *fp;char filename[]="my.dat"; // 如果文件名是my.dat struct USER user; // 如果已定义结构USER, 这里声明user if((fp=fopen(filename,"rb"))==NULL){printf("...
可能是因为文件打开着呢,你需要做的就是关闭这个文件,然后在重新启动程序,应该就可以了
输入数据里有逗号,读格式要加逗号。输入格式里不要写 \n.fscanf(fp1,"%lf,%lf,%lf,%lf,%*d",&p[i].x1,&p[i].x2,&p[i].x3,&p[i].x4);如果数据不等于 Row 行,要用 EOF 判断 终止循环。if (fscanf(...)==EOF) break;如果数据不等于 Row 行,输出语句的循环要提前结束。
int room_num;int te_num;}stud[7];你那文本文件不是用fwrite()结构体写入的,所以你用fread()是读不到的。象char sex;只是一个字节而“男”却要两字节.int te_num; 最大为32767 而你的号码87756122 超出了INT 范围。最好还是用fgets()读入一行,然后对读入的字串处理赋值给相应变量 ...
你这个是打开文件失败了!最好是在打开文件的时候加一个判断来看看是否文件打开成功!fin=fopen("2.txt","r")注意你的2.txt文件必须和你编译好的C可执行文件在同一目录下,当然你也可以指定特定的目录,我这个例子就是指定的G盘的根目录!最后给你一句忠告,要学会调试简单的程序,好多问题一调试后就...
虽然不知道你文件数据的格式,不过你可以把 fscanf(fp1,"%f,%f,%f,%f\n",&p[i].x1,&p[i].x2,&p[i].x3,&p[i].x4);改成这样fscanf(fp1,"%lf%lf%lf%lf\n",&p[i].x1,&p[i].x2,&p[i].x3,&p[i].x4);或者这样 fscanf(fp1,"%lf,%lf,%lf,%lf\n",&p[i].x1,&p...