【问题笔记】关于c++文件读写 read write gcount的尝试
2017-07-28 16:00
281 查看
发现的问题:
char szTmp[10]; fin.read(szTmp,sizeof szTmp); fout.write(szTmp,sizeof szTmp);
问题1:如果fin指向文件缓冲区中剩余字符数小于sizeof szTmp,read的行为如何?
问题2:如何读取剩余的字符?
解决:
问题1:如果fin指向文件缓冲区中剩余字符数小于sizeof szTmp,read的行为如何?解:fin.read(szTmp,sizeof szTmp)将剩余字符全部放入szTmp的前几位,并返回0(正常读取完指定字符数时返回1),同时设置eofbit
问题2:如何读取剩余的字符?
解:
char szTmp[10]; fin.read(szTmp,sizeof szTmp) fout.write(szTmp,fin.gcount());注:fin.gcount()返回上一次使用read、get、getline、ignore时读取的字符数
循环读取一整个文件的改进:
char szTmp[10]; while(fin.read(szTmp,sizeof szTmp)) fout.write(szTmp,sizeof szTmp); fout.write(szTmp,fin.gcount());
相关文章推荐
- 关于read和write的读写问题
- 四种读写文件的方式:系统调用(open/read/write),C语言(fopen,fgets, fputs),C++(ifstream, ofstream getline,)泛型算法
- 关于C/C++使用stdio读写文件的问题
- [Ruby笔记]4. ruby 读写文件 File open read write new
- 关于“打开项目**时发生问题,尝试退出并重新启动应用程序。如果问题仍然存在,则可能是由于正在使用不支持的项目版本,或者项目文件可能损坏”的问题的解决办法。
- C/C++读写文件相关问题整理
- 关于C++中open打开文件函数的诡异的问题
- c++文件读写遇到的问题
- C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()
- C++读写BMP文件头部时的字节对齐问题
- sys_read()/vfs_read()/vfs_write() Linux VFS文件系统之读写(read/write)文件
- 关于FileAccess.ReadWrite问题
- 关于C++文件读写的一些东西
- C和C++ 读写文件速度问题
- 关于前置声明与C++中头文件相互包含的几点问题
- [perl] Spreadsheet::WriteExcel 和 Spreadsheet::Read 对 excel 文件的读写
- 关于Win7系统中软件安装目录下ini配置文件的读写问题
- Linux VFS文件系统之读写(read/write)文件
- 【转载】C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()
- 关于C++中输入输出的小结——读写文件、string