C语言中的fopen函数用于打开一个文件,并返回一个FILE指针,这个指针可以用于后续的文件读写操作,fopen函数的原型如下:
FILE *fopen(const char *filename, const char *mode);
filename
是要打开的文件名,mode
是文件打开模式,如只读、只写、追加等。fopen
函数会根据指定的文件名和模式来打开文件,并返回一个指向FILE结构的指针,如果文件打开成功,该指针将指向一个有效的FILE结构;如果文件打开失败,该指针将为NULL。
下面我们详细介绍一下fopen函数的三种文件打开模式:
1、只读模式:"r"
只读模式表示以只读方式打开文件,文件指针只能用于从文件中读取数据,不能用于写入数据,在这种模式下,可以通过设置stdin
或stdout
来实现从标准输入设备或标准输出设备读取数据。
```c
FILE *fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("无法打开文件
");
return 1;
}
// 从文件中读取数据的代码
fclose(fp);
```
2、只写模式:"w"
只写模式表示以只写方式打开文件,文件指针只能用于向文件中写入数据,不能用于从文件中读取数据,在这种模式下,可以通过设置stdin
或stdout
来实现向标准输入设备或标准输出设备写入数据。
```c
FILE *fp = fopen("output.txt", "w");
if (fp == NULL) {
printf("无法打开文件
");
return 1;
}
// 向文件中写入数据的代码
fclose(fp);
```
3、追加模式:"a"
追加模式表示以追加方式打开文件,文件指针可以用于向文件中写入数据,在这种模式下,如果文件不存在,则会创建一个新文件;如果文件已存在,则会在文件末尾追加内容。
```c
FILE *fp = fopen("log.txt", "a");
if (fp == NULL) {
printf("无法打开文件
");
return 1;
}
// 从标准输入设备读取数据并追加到文件中的代码
fclose(fp);
```
4、以二进制模式打开文件:"b"
、"t"
、"b+"
、"t+"
等
以二进制模式打开文件时,不会对文件内容进行任何转换,而是以原始字节形式读取或写入数据。
```c
// 以二进制读取模式打开文件并读取数据的代码
// 以二进制写入模式打开文件并写入数据的代码
```
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/170897.html