fopen函数:打开文件或URL
fopen函数是C标准库中用于打开文件或URL的函数。它的函数原型为:
FILE *fopen(const char *filename, const char *mode);
其中,filename表示要打开的文件或URL的名称,可以是相对路径或绝对路径;mode表示文件打开的模式,包括读,写,追加等。
在fopen函数中,filename可以包含绝对路径或相对路径,也可以包含URL。如果filename中的路径不存在,则fopen函数会返回NULL。
而mode参数可以取以下字符串:
1. "r":以只读模式打开文件,文件不存在则返回NULL。
2. "w":以只写模式创建文件,如果文件已存在,则删除原文件并创建新文件;如果文件不存在,则创建新文件,文件权限为0600。
3. "a":以只写模式打开文件,如果文件不存在,则创建新文件;如果文件已存在,则将数据写入文件末尾。
4. "r+":以读写模式打开文件,文件必须存在。
5. "w+":以读写模式创建文件,如果文件已存在,则删除原文件并创建新文件,文件权限为0600;如果文件不存在,则创建新文件。
6. "a+":以读写模式打开文件,如果文件不存在,则创建新文件;如果文件已存在,则将数据写入文件末尾。
7. "rb":以二进制只读模式打开文件,文件必须存在。
8. "wb":以二进制只写模式创建文件,如果文件已存在,则删除原文件并创建新文件;如果文件不存在,则创建新文件,文件权限为0600。
9. "ab":以二进制只写模式打开文件,如果文件不存在,则创建新文件;如果文件已存在,则将数据写入文件末尾。
10. "rb+":以二进制读写模式打开文件,文件必须存在。
11. "wb+":以二进制读写模式创建文件,如果文件已存在,则删除原文件并创建新文件,文件权限为0600;如果文件不存在,则创建新文件。
12. "ab+":以二进制读写模式打开文件,如果文件不存在,则创建新文件;如果文件已存在,则将数据写入文件末尾。
例如,使用fopen函数以只读模式打开名为"example.txt"的文件:
FILE *file;
file = fopen("example.txt", "r");
使用fopen函数以读写模式打开名为"example.bin"的二进制文件:
FILE *file;
file = fopen("example.bin", "rb+");
使用fopen函数以只写模式创建名为"new.txt"的文件:
FILE *file;
file = fopen("new.txt", "w");
使用fopen函数以只写模式打开一个URL:
FILE *file;
file = fopen("http://example.com/index.html", "w");
在使用完文件之后,应该将其关闭,以避免资源浪费和文件损坏。
fclose(file);
总的来说,fopen函数是C语言中常用的文件操作函数之一,可以用于打开文件,创建文件,以及打开URL等操作,具有较高的灵活性和可定制性。
