一直读取文件内容,一次读取10字节,读取到的就输出(文本文件即可,大于100字节) 直到读完,读取到返回值为0 tips: while(1) { buf[10]={0}; read()返回值==0代表
时间: 2024-10-24 08:14:35 浏览: 23
这是一个简单的文件读取示例,通常用于处理大文件,避免一次性加载所有数据导致内存溢出。在C/C++中,可以使用`fread`函数结合循环来实现这个功能。这里假设我们有一个名为`file.txt`的文本文件:
```c
#include <stdio.h>
#include <string.h>
#define BUFFER_SIZE 10
int main() {
FILE* file = fopen("file.txt", "r");
if (file == NULL) {
perror("Failed to open file");
return 1;
}
char buffer[BUFFER_SIZE];
size_t bytes_read;
while ((bytes_read = fread(buffer, sizeof(char), BUFFER_SIZE, file)) > 0) {
// 输出读取的内容
for (size_t i = 0; i < bytes_read; i++) {
printf("%c", buffer[i]);
}
printf("\n"); // 每次读取后换行
}
// 当read返回0表示文件已读完或遇到错误
if (feof(file)) {
printf("End of file reached.\n");
} else {
perror("Error reading file");
}
fclose(file);
return 0;
}
```
在这个例子中,`while`循环会持续进行,直到`fread`函数读取到的数据长度小于`BUFFER_SIZE`或`feof(file)`条件满足,即文件结束。每次从文件中读取10字节,并显示在屏幕上。
阅读全文