fread怎么读取一行

fread如何读取一行
C/C++ code
遇到  "," 

会 停止读取

估计遇到空格也一样

我想读取一行,整一行,该怎么读取呢???




    fread(str,len,sizeof(int),pfile);
也是,读取不了一行,


郁闷



问题:

如果它存在这么多缺陷,或者说 鸡肋似的的函数,一般用它在什么地方呢??





------解决方案--------------------
你再找找,确认一下?
fread不是按行读取的,而是按大小,个数读取的,除非错误和EOF,没有终止符一说,遇到'\n'也不会停止读取,fgets才有终止符,遇到'\n'才会停止。

fread(str,len,sizeof(int),pfile);
对比一下函数原型,这句代码逻辑是否有问题?

size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
<cstdio>
Read block of data from stream

Reads an array of count elements, each one with a size of size bytes, from the stream and stores them in the block of memory specified by ptr.
The postion indicator of the stream is advanced by the total amount of bytes read.
The total amount of bytes read if successful is (size * count).

第三个参数是读取的个数
你那句代码定意思就是从str中,读取sizeof(int)个,也就是4个, 长度为len的数据,写入到pfile中。我不能理解这句话的意思。
探讨

郁闷

fgets, fread

都可以读取一一行啊

呵呵

我怀疑是不是代码过期,没有编译


fgets, fread都行




貌似只有fscanf这个不能都一行,其他都行