简单的问题,
当我使用fread时:
fread(ArrayA, sizeof(Reg), sizeBlock, fp);
Run Code Online (Sandbox Code Playgroud)
我的文件指针,fp向前移动?
Add*_*ted 24
答:是的,文件指针的位置在读取操作后自动更新,以便连续的fread()函数读取连续的文件记录.
澄清: fread()是一种面向块的功能.标准原型是:
size_t fread(void *ptr,
size_t size,
size_t limit,
FILE *stream);
Run Code Online (Sandbox Code Playgroud)
该函数从指向的流中读取并将读取stream的字节放入指向的数组中ptr,当满足以下任一条件时,它将停止读取:
limit大小的元素size,或 fread()为您提供尽可能多的控制权fgetc(),并且具有能够在单个I/O操作中读取多个字符的优点.事实上,在内存允许的情况下,您可以将整个文件读入一个数组并在内存中完成所有处理.这具有显着的性能优势.
fread()通常用于将固定长度的数据记录直接读入结构,但您可以使用它来读取任何文件.这是我个人选择阅读大多数磁盘文件.
| 归档时间: |
|
| 查看次数: |
24231 次 |
| 最近记录: |