//FILE *fopen(const char *path, const char *mode);fopen 函数用于打开一个文件并返回文件指针,若打开失败返回NULL指针,,并设置errno为指定的错误
//path 为文件路径(相对/绝对路径),mode参数为打开文件的模式,读/写...,注意区分打开文本文件和二进制文件区别
// 打开方式要区分文本模式和二进制模式的原因,主要是因为换行符的问题。
//C 语言用 \n 表示换行符,Unix 系统用 \n,Windows 系统用 \r\n,Mac 系统则用 \r。
//如果在 Windows 系统上以文本模式打开一个文件,从文件读到的 \r\n 将会自动转换成 \n,而写入文件则将 \n 替换为 \r\n。
//但如果以二进制模式打开则不会做这样的转换。Unix 系统的换行符跟 C 语言是一致的,所以不管以文本模式打开还是二进制模式打开,结果都是一样的。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
FILE* fp;
int ch;
if ((fp = fopen("hello.txt", "r")) == NULL) //以读方式打开文件,需要先创建一个hello.txt文件
{
printf("打开文件失败\n");
exit(EXIT_FAILURE); //若打开文件失败,则退出
}
while ((ch = getc(fp)) != EOF) //每次读取文件中一个字符,直到读完,EOF(end of file)表示文件结尾的字符
{
putchar(ch); //输出读取的字符(文件中的内容)
}
fclose(fp); //注意要关闭文件
system("pause");
return 0;
}
![](https://img.haomeiwen.com/i14705076/d0821be261d99393.png)
打开方式
网友评论