当前位置:   article > 正文

c++读写文件_std::ios::trunc

std::ios::trunc

代码比较通用,记录下防走失,需要用的时候直接复制粘贴即可。


写入文件

  1. #include <fstream>
  2. void main()
  3. {
  4. std::ofstream out;
  5. //ios::trunc表示在打开文件前将文件清空,由于是写入,文件不存在则创建
  6. out.open("com.txt", std::ios::trunc);
  7. char a = 'a';
  8. for (int i = 1; i <= 26; i++)//将26个数字及英文字母写入文件
  9. {
  10. out << i << "\t" << a << "\n";
  11. a++;
  12. }
  13. out.close();//关闭文件
  14. }

按行读出文件

  1. #include <fstream>
  2. void main()
  3. {
  4. std::ifstream in("com.dat");
  5. std::string line;
  6. //逐行读取数据并存于line中,直至数据全部读取
  7. //line中不包括每行的换行符
  8. while (std::getline(in, line))
  9. std::cout << line.c_str() << std::endl;
  10. in.close();//关闭文件
  11. }

fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。
ifstream -- 从已有的文件读

ofstream-- 向文件写内容

fstream- 打开文件供读写

文件打开模式:

ios::in            读
ios::out           写
ios::app           从文件末尾开始写
ios::binary        二进制模式
ios::nocreate      打开一个文件时,如果文件不存在,不创建文件。
ios::noreplace     打开一个文件时,如果文件不存在,创建该文件
ios::trunc         打开一个文件,然后清空内容
ios::ate           打开一个文件时,将位置移动到文件尾

文件指针位置在c++中的用法:

ios::beg   文件头
ios::end   文件尾
ios::cur   当前位置
例子:
file.seekg(0,ios::beg);   //让文件指针定位到文件开头
file.seekg(0,ios::end);   //让文件指针定位到文件末尾
file.seekg(10,ios::cur);   //让文件指针从当前位置向文件末方向移动10个字节
file.seekg(-10,ios::cur);   //让文件指针从当前位置向文件开始方向移动10个字节
file.seekg(10,ios::beg);   //让文件指针定位到离文件开头10个字节的位置

常用的错误判断方法:

good()   如果文件打开成功
bad()   打开文件时发生错误
eof()    到达文件尾
 


参考:c++逐行读取写入txt文件的方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/300443
推荐阅读
相关标签
  

闽ICP备14008679号