C++ 文件读写库小析
来源:互联网 发布:淘宝上买iphone4s 编辑:程序博客网 时间:2024/06/05 07:17
对于C++而言最关键的是有找到合适库。因为C++ 的库并不像JAVA 那么统一规范,在开发过程中总是需要根据具体需求到网上或者手头上存有的类库当中或许相关的API 函数。 而API 的学习成本对开发效率而言成为了一大瓶颈。这是笔者在开发C++ 时感触最深,也是消耗时间最多的地方,
这篇博客主要是对文件的读写操作进行一个总结。
鉴于C语言的API 函数逻辑结构的分散性,不方便学习和记忆,整体学习成本较高 ,对于C 语言的API 函数不做考虑
经过一番google 大法之后,物色到的相对有点 OOP 风格,可快速查看API 文档的类主要 为
STL::ios::iosteam
MFC::CAtlfile
先将代码贴上
stl::ios::iosteam
“` cplus
ifstream read_file("c:test.txt", std::ios::binary); read_file.seekg(0, read_file.end); long nsize = read_file.tellg(); read_file.seekg(0 ,read_file.beg); char * buff = new char[nsize+1]; read_file.read(buff, nsize); buff[nsize] = 0; read_file.close(); ofstream write_file("c:write.txt", std::ios::binary); write_file.write(buff, nsize ); write_file.close(); delete buff;
MFC: catlfile
“` c++
CAtlFile afile;afile.Create(_T("c:test.pdf"), GENERIC_READ, FILE_SHARE_READ, OPEN_ALWAYS);ULONGLONG nsize = 0;afile.GetSize(nsize);char *buf = new char[nsize];afile.Read(buf, nsize);afile.Close();// unstable operation afile.Create(_T("c:test\\output.pdf"), GENERIC_WRITE, FILE_SHARE_WRITE, OPEN_ALWAYS);afile.Write(buf, nsize);afile.Close();delete buf;
总结
从整体上看,STL的库较为接近C系,比较原始, 基本上所有的操作都比较接近原子操作,封装程度不是很高,但是由于其面向对象的特性,以及较好的文档支持,处于基本可以使用。
缺点: 对于文件读取过程中,不会自动添加结束符,数据读到内存当中后需要手动添加,否者显示时会出乱码MFC::CAtlfile
优点: 封装性较高,函数个数较少,可以快速上手
缺点:严重依赖windows 平台 API 函数,相关参数的配合creat()函数
较为繁琐,很难集中,
0 0
- 【C/C++】文件读写
- c语言读写文件
- 文件读写(c)
- C#-读写INI文件
- [C++]文件读写操作
- C#读写INI文件
- C 读写文件
- C读写ini文件
- c#FileStream文件读写
- 读写文件 c
- WinAPI C读写文件?
- C语言读写文件
- 文件读写(C++)
- c中的文件读写
- C文件读写
- c读写文件
- c读写Exc文件
- C/C++ 读写文件
- 两会政协报告A股解读法
- 计算机字符与编码总结
- document.ready和onload的区别----JavaScript文档加载完成事件
- Checking Code Signing and Sandboxing Status in Code
- 神经网络的通俗解释
- C++ 文件读写库小析
- android操作xml封装后的类
- 进程间通信[COPY&整理]
- 调用网络http
- ios中apns推送证书制作命令
- I2C设备,读写地址换算
- json
- 返回上一页
- 国债期货交割期权对久期的影响