文件读写操作之c语言、c++、windows、MFC、Qt
目录
一、前言
二、c语言文件读写
1.写文件
2.读文件
三、c++文件读写
1.写文件
2.读文件
四、windows api文件读写
1.写文件
2.读文件
五、MFC文件读写
1.写文件
2.读文件
六、Qt文件读写
1.写文件
2.读文件
七、总结
一、前言
我们在学习过程中,学到的最多的感觉就是文件操作了,从学习c语言、c++再到Qt,都有它的影子,文件读写操作的方式有所不同,但都有各自的特点和用途。现在我总结了这五种写法,下面分别简要介绍这些环境下的文件读写操作方式。
二、c语言文件读写
在C语言它是面向过程的语言,文件操作主要通过一系列标准库函数实现,例如 fopen(), fread(), fwrite(), fclose() 等等。下面代码为示例,比较简单。
其中重点需要记住 fopen()函数,它的原型为:
FILE *fopen(const char *filename, const char *mode);
fopen函数的第二个参数 mode 是一个字符串,用于指定文件的打开模式。常用的有 "r" (以只读方式打开文件,文件必须存在), "w" (以只写方式打开文件。如果文件存在,则长度被截断为零,即该文件内容会消失,如果文件不存在则创建新文件),"a" , "r+",等等。
1.写文件
示例代码为:
// 1.打开文件 FILE* pfile = fopen("1.txt","W"); if (pfile == NULL) { MessageBox("fopen error"); return; } char szBuf[1024] = "C语言写文件"; // 2.写文件 fprintf(pfile,szBuf); // 3.关闭文件 fclose(pfile);
2.读文件
示例代码为:
// 1.打开文件 FILE* pfile = fopen("1.txt","r"); if (pfile == NULL) { MessageBox("fopen error"); printf("fopen error!"); return; } char readBuf[1024] = { 0 }; // 2.读文件 fread(readBuf, 1, 1024, pfile); // 3.关闭文件 printf("结果为:%s", readBuf);
三、c++文件读写
c++是面向对象的语言,所以说会创建一个文件流fstream类,包括ifstream(输入文件流)、ofstream(输出文件流)和fstream(同时支持输入输出的文件流)。
1.写文件
示例代码为:
// 1. 创建文件流 ofstream ofs("2.txt"); char szBuf[1024] = "c++写文件"; // 2. 写文件 ofs.write(szBuf,strlen(szBuf) + 1); // 3. 关闭文件 ofs.close();
2.读文件
示例代码为:
// 1. 创建文件流 ifstream ifs("2.txt"); char szBuf[1024] = { 0 }; // 2. 读文件 ifs.read(szBuf, 1024); // 3. 关闭文件 ifs.close(); std::cout