c语言文件操作
时间: 2023-08-24 14:13:05 浏览: 34
C语言中,文件操作需要用到头文件`<stdio.h>`中定义的函数。常用的文件操作函数有以下几个:
1. `fopen()`函数:打开文件,返回文件指针。
```c
FILE *fopen(const char *filename, const char *mode);
```
参数`filename`是文件名,`mode`是打开文件的模式,包括`"r"`(只读)、`"w"`(只写)和`"a"`(追加写)等。
2. `fclose()`函数:关闭文件。
```c
int fclose(FILE *stream);
```
参数`stream`是文件指针。
3. `fputc()`函数:将字符写入文件。
```c
int fputc(int c, FILE *stream);
```
参数`c`是要写入的字符,`stream`是文件指针。
4. `fputs()`函数:将字符串写入文件。
```c
int fputs(const char *s, FILE *stream);
```
参数`s`是要写入的字符串,`stream`是文件指针。
5. `fgets()`函数:从文件中读取一行字符串。
```c
char *fgets(char *s, int size, FILE *stream);
```
参数`s`是存储读取结果的字符数组,`size`是数组大小,`stream`是文件指针。
6. `fread()`函数:从文件中读取指定个数的数据块。
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
参数`ptr`是存储读取结果的缓冲区指针,`size`是每个数据块的大小,`count`是要读取的数据块个数,`stream`是文件指针。
7. `fwrite()`函数:将数据块写入文件。
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
参数`ptr`是要写入的数据块指针,`size`是每个数据块的大小,`count`是要写入的数据块个数,`stream`是文件指针。
下面是一个简单的示例,演示了如何打开一个文件、将字符串写入文件、从文件中读取一行字符串并输出:
```c
#include <stdio.h>
int main() {
FILE *fp;
char str[100];
// 打开文件
fp = fopen("test.txt", "w");
// 写入字符串
fputs("Hello, world!", fp);
// 关闭文件
fclose(fp);
// 打开文件
fp = fopen("test.txt", "r");
// 读取字符串并输出
fgets(str, 100, fp);
printf("%s", str);
// 关闭文件
fclose(fp);
return 0;
}
```
需要注意的是,如果文件打开失败,`fopen()`函数会返回`NULL`,此时需要进行错误处理。另外,在进行文件读写操作时,要确保文件已经成功打开,否则会出现错误。