fgets和fread
时间: 2023-11-23 20:51:42 浏览: 124
fgets_
fgets和fread都是C语言中用于读取文件的函数,但是它们有一些不同之处。
fgets函数从文件中读取一行字符串,直到遇到换行符或者文件结束符为止。它的函数原型为:
```c
char *fgets(char *str, int n, FILE *stream);
```
其中,str是一个指向字符数组的指针,用于存储读取到的字符串;n是读取的最大字符数;stream是一个指向FILE结构体的指针,表示要读取的文件。
相比之下,fread函数可以读取任意长度的数据块,而不仅仅是一行字符串。它的函数原型为:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
其中,ptr是一个指向要读取数据存储位置的指针;size是每个数据块的字节数;count是要读取的数据块数量;stream是一个指向FILE结构体的指针,表示要读取的文件。
另外,fgets函数返回读取到的字符串指针,如果读取失败则返回NULL;而fread函数返回成功读取的数据块数量,如果读取失败则返回0。
阅读全文