C语言打开文件教程
在
在 C 语言中,打开文件使用 fopen
C语言fopen函数详解
语法
FILE *fopen(char *filename, char *mode);
参数
参数
描述
filename
要打开的文件路径。
mode
要打开的文件的方式。
返回值
如果打开成功,则返回一个 FILE 指针,否则,返回
头文件
fopen 函数在 stdio.h 的头文件里面。
技术细节
fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信息保存到一个 FILE 类型的
C语言fopen函数打开文件方式
不同的操作需要不同的文件权限。如果,只想读取文件中的数据的话,“只读” 权限就够了;既想读取又想写入数据的话,“读写” 权限就是必须的了。
另外,文件也有不同的类型,按照数据的存储方式可以分为二进制文件和文本文件,它们的操作细节是不同的。在调用 fopen() 函数时,这些信息都必须提供,称为 “文件打开方式”。
控制读写权限的字符串
打开方式
说明
“r”
以 “只读” 方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。
“w”
以 “写入” 方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
“a”
以 “追加” 方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
“r+”
以 “读写” 方式打开文件。既可以读取也可以写入,也就是随意更新文件。文件必须存在,否则打开失败。
“w+”
以 “写入/更新” 方式打开文件,相当于 w 和 r+ 叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
“a+”
以 “追加/更新” 方式打开文件,相当于 a 和 r+ 叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
控制读写方式的字符串
打开方式
说明
“t”
文本文件。如果不写,默认为"t"。
“b”
二进制文件。
说明
调用 fopen() 函数时必须指明读写权限,但是可以不指明读写方式(此时默认为 "t")。读写权限和读写方式可以组合使用,但是必须将读写方式放在读写权限的中间或者尾部(换句话说,不能将读写方式放在读写权限的开头)。例如:
将读写方式放在读写权限的末尾:“rb”、“wt”、“ab”、“r+b”、“w+t”、“a+t”。
将读写方式放在读写权限的中间:“rb+”、“wt+”、“ab+”。
整体来说,文件打开方式由 r、w、a、t、b、+ 六个字符拼成,各字符的含义是:
字符
描述
r
read,读
w
write,写
a
append,追加
t
text,文本文件
b
banary,二进制文件
+
读和写
案例
打开文件
使用 fopen 函数打开文件
#include
#include
int main(){
printf("嗨客网()\n\n");
FILE *fp = NULL;
if ( (fp = fopen("c:\\1.txt", "rt")) == NULL )
{
puts("Open file failed\n");
return;
}
else
{
puts("Open file success\n");
return;
}
return 0;
}
程序运行后,控制台输出如下:
我们使用了 fopen 函数,打开了一个 c 盘的文件,以只读的方式读取该文件,并将读取到的内容赋值给 FILE 类型的 fp
接着,我们使用
这里,因为,我们文件不存在,所以打开文件失败,现在,我们在 C 盘创建该文件,再次使用上面的程序打开该文件,此时程序运行后,控制台输出如下:
此时,因为文件存在,所以,我们的文件打开成功了。
C语言打开文件教程总结
在 C 语言中,打开文件使用 fopen 函数,打开文件时,我们需要知道文件的路径和打开文件的方式。
c语言文件打开方式字符串 C语言打开文件-C语言打开文件的方式-C语言以只读方式打开文件-C语言以读写方式打开文件-嗨客网...