fopen、fclose、fread、fwrite、fseek的函数原型及使用注意事项
时间: 2023-10-01 14:06:58 浏览: 60
1. fopen函数原型:
```c
FILE *fopen(const char *filename, const char *mode);
```
使用说明:
- filename:文件名,可以是相对路径或绝对路径,需要包含文件扩展名。
- mode:访问模式,可以是 `"r"`(只读)、`"w"`(只写)、`"a"`(追加)、`"rb"`(二进制只读)、`"wb"`(二进制只写)、`"ab"`(二进制追加)等。
返回值:
- 成功打开文件返回指向该文件的指针。
- 打开文件失败返回 `NULL`。
2. fclose函数原型:
```c
int fclose(FILE *stream);
```
使用说明:
- stream:打开文件的指针。
返回值:
- 关闭文件成功返回 0。
- 关闭文件失败返回非 0 值。
3. fread函数原型:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
使用说明:
- ptr:指向要读取数据的缓冲区。
- size:每个数据项的字节数。
- count:要读取的数据项数。
- stream:打开文件的指针。
返回值:
- 返回实际读取的数据项数,如果该值小于 count,则可能是读取到了文件末尾或者发生了错误。
4. fwrite函数原型:
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
使用说明:
- ptr:指向要写入数据的缓冲区。
- size:每个数据项的字节数。
- count:要写入的数据项数。
- stream:打开文件的指针。
返回值:
- 返回实际写入的数据项数,如果该值小于 count,则可能是因为磁盘已满或者发生了错误。
5. fseek函数原型:
```c
int fseek(FILE *stream, long offset, int whence);
```
使用说明:
- stream:打开文件的指针。
- offset:偏移量,可以是正数或负数,如果是负数则表示向文件开头偏移。
- whence:偏移的位置,可以是 `SEEK_SET`(文件开头)、`SEEK_CUR`(当前位置)、`SEEK_END`(文件结尾)。
返回值:
- 执行成功返回 0。
- 执行失败返回非 0 值。
使用注意事项:
- 在使用文件 I/O 函数时,需要先打开文件,处理完后再关闭文件。
- 在使用 fread 和 fwrite 函数时,需要注意缓冲区的大小,避免溢出。
- 在使用 fseek 函数时,需要注意偏移量的取值范围,避免越界访问文件。