if(feof(fp)) break; fscanf(fp,"%f",&b); 这样会给一个0.000000值给最后的b,不知识什麽原因?
by lixforalpha - C/C++ - 2004-01-09 01:44:12 阅读(1074) 回复(1)
自己写的处理数据文件的小程序,查错查到最后发现fscanf根本不工作,实在找不出问题所在,把程序和数据文件都贴出来,肯请大家帮忙解决!
编译环境:devcpp4.9.9.2
//代码文件:main.cpp
#include
fp是文件流指针,str是字符串指针,用来存储内容。 fprintf(fp,"%s\n",str); 保存文件 文件内容比如为 hello world welcome! fscanf(fp,"%s",str); 为什么str是hello而不是hello world。不是以/n为分界的吗?
在文件里找到"Retest= "字符串就停止,并显示,怎么实现? 我的代码,但实现不了。 ==================================== int main(void) { char tmp[20]; FILE *fp; memset(tmp,'\0',sizeof(tmp)); if((fp = fopen("aa.dat","r")) == NULL) { printf("file open error~! \n"); } while (!feof(fp)) { ...
.txt 文件为 91 4 153 0.937116 91 4 152 0.921534 92 4 152 0.739534 并且光标在最后一行数据的下一行的开头 while (! feof(fp)) { fscanf(fp, "%d %d %d %lf", &x, &y, &z, &daten); printf("%d \t%d \t%d \t%f\n",x, y, z, &daten); fclose(fp); 提取后屏幕显示为 91 4 153 0.937116 91 4 152 0.921534 92 4 152 0.739534 92 4 152 0.739534 请问如何解决此问题 我试用除去最后一行,显示...
我写了一段代码,但运行起来,打印输出的结果总不对,请指教! int Numberin,Numberout; Numberin = 1236; ... fprintf(file, "%i\n", Numberin);//write the file ... fscanf(file, "%i\n",&Numberout);//read the parameter Numberin printf("%i\n",Numberout);//output 但是输出的数字不等于1236, 不知道错在哪里了?
我现在要从一个文件中取数据,以下是文件中的部分数据 len-a 64 value-a EA227D27, len-p 32 611DB8F5 就是这样的格式,我每次读一行,就是这样用的, fscanf(fp2,"%s",str); 现在的问题是,他每次读数据,读完EA227D27 后,就不换行了,一直取这个数据,不知道哪里用错了, 请各位指导 谢谢
[code] fscanf( fp, "%100[^\n#]s", s ); fscanf( fp, "%*[^\n]s" ); [/code] 为什么 "%100[^\n#]s" 要那个s呢?
刚才一哥们问我一简单问题,却被问住了,问题缩减为如下代码。
在VC6.0中编译,运行出现错误,在读入x,y,x时出现运行时错误(死活想不明白为什么),如果把下面的注释行去掉,OK,又行了,很晕
编译器Bug?还是?
[code]
#include