额,我用ifstream file.然后while(!file.eof)可是为什么文件存在但是内容为空的时候while也进行了啊.进行了一次,我想一次都不进行,就加了个if(!file.eof()),结果还是进了 求解决
那个map->啥啥啥可以不用管,然后我放到vecmap里面.调用cout<<vecmap.size()发现为1;文件没有内容的,说明循环进行了,自己检测了一次发现是的,怎么解决,让文件为空的时候循环一次都不进行.
你骗人←_←,新建的文件,改个名字,还是这样……
你骗人←_←,新建的文件,改个名字,还是这样……
追答你都不会把读入的数据输出下, 看看读入的是啥.这样不就知道文件到底是不是空的了→_→还有, 你很厉害哇~模板也学了哇~~~我看着模板就学不下去~
C++ 为什么while(! iofile.eof() )读取文件会出现死循环
iofile.seekp(i*sizeof(stu_obj),ios::beg);的时候指向文件尾了 后面的读取操作就会瓦掉。可以改为 while(!iofile.eof()){ iofile>>stu_obj.tag>>stu_obj.num>>stu_obj.name>>stu_obj.score;stu_obj.disp();i++;iofile.seekp(i*sizeof(stu_obj),ios::beg);\/\/针对输出文件的操作...
C++ 为什么while(! iofile.eof() )读取文件会出现死循环
eof() 函数要跟在读语句以后使用,用来判断前面的读语句是否读到文件结束符EOF了。EOF -- end of file.eof() 函数本身,并不到输入流里去取数,不去读取文件。单用 while(!iofile.eof()); 由于没有别的读语句去读文件,而自身又不会去读取文件,只是不断地判断 iofile的 EOF 标志位状态,...
C++如何实现多组测试数据,处理到文件结束
File.open(FileName); \/\/打开文件 \/\/open函数其实有三个参数,此处后两个使用默认值了,具体函数使用请见MSDN if(File){ \/\/文件打开成功 \/\/ 此处加入对文件内容的处理 while(!File.eof()){ \/\/循环读入数据 File.read(DataBuffer,128);\/*对缓冲区中的读入数据进行操作*\/ } } else { ...
C++中!file.eof()什么意思?
代码要贴完整。eof()函数返回文件指针是否已到末尾,是返回true。一般这么用的 while(!file.eof()) { file.read(ch);}
c++中while(!infile2.eof)什么意思
最起码逻辑上是错误的。infile2应该是一个文件流类的对象, 这个类有一个成员函数eof(), 可以判断文件是否读到文件尾, 如果是返回真, 不是返回假。按照这个语句来看, 这个表达式永远是假的, 这个while永远不会执行。 因为指针不可能为NULL, 所以非操作后就一定为假。加上()后就对了。
c++中,在while循环中到文件尾eof(),怎么就会输出空一行呢?
eof 就是文件结束 因为文件指针到最后一个字符时并不会触发eof,再读一次读不到数据才触发eof,这样c还保留着上一次的数据,又被输出一次,peek()方法是读取文件指针下一个位置的值,但并不移动文件指针,用在这里很合适 while (fin.peek()!=EOF)
c++里读写文件函数i_file.good()使用问题,代码如下
while(i_file.good())和while (!i_file.eof())存在同样的问题,你到网上搜一下“C\/C++文件之eof()”,就明白怎么回事了。注意最后一段话:“2. 读取文件过程中,读取非char型时,使用peek判断文件尾将不再适用,循环判断条件应改用>>操作符进行读取,若读入char型缓冲区,peek函数会表现得很好...
C++文件读取和写入时出现问题了。
原因:你的程序读到的不是第1行内容,而是最后一行内容,因为会一直读到让eof()函数反回1为止,而eof反回1,则文件已到末尾了。而最后一行与倒数第二行之间可能根本就没有内容,也就是你程序中的变量c可能只读到了一个回车换行符,所以程序输不出东西。评论很多定符不能打,我插 定义二维数组来...
c++ fstream问题
前面读到文件末尾了eof 状态,文件在错误状态下面拒接写入内容了,需要clear()清除一下错误状态才行。你把这个加到第2个while 循环前面就可以了 while(!file.eof ) getline(file,s1) ; cout<<s1<<endl;}if (!file.good()) { file.clear(); \/\/清除前面eof错误状态} ...
C++问题 请下面代码中的if(!file) break;是什么意思
如果File为空 跳出While循环,也就是说文件的数据读完了就不在增加book数组