📅  最后修改于: 2023-12-03 15:21:25.928000             🧑  作者: Mango
当一个 Unix 系统目前正在用户模式下运行时,程序员可以使用 fread() 函数从文件中读取数据。该函数的原型如下:
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
其中:
ptr
:指向要读取数据的缓冲区。size
:读取每个数据块的字节数。nmemb
:要读取的数据块数量。stream
:要读取数据的文件指针。在调用 fread() 函数时,它会返回实际读取到的数据块数量。如果出现错误,则会返回 0
。其中,可能的错误原因包括文件不存在、权限不足或者磁盘空间不足等。
在使用 fread() 函数时,需要注意以下几点:
ferror()
或 feof()
函数判断是否出现读取错误或读取到文件末尾。示例代码如下:
FILE *fp;
char buffer[1024];
size_t num_read;
fp = fopen("example.txt", "r");
if (fp == NULL) {
printf("Failed to open file!\n");
return;
}
num_read = fread(buffer, sizeof(char), 1024, fp);
if (ferror(fp)) {
printf("An error occurred while reading the file.\n");
} else {
printf("Read %zu bytes from file.\n", num_read);
}
fclose(fp);
以上就是关于 Unix 系统下 fread() 函数的介绍。