c++程序数据导入txt小方法

来源:互联网 发布:兔家公子淘宝店真吗 编辑:程序博客网 时间:2024/04/29 04:43

转自http://blog.sina.com.cn/s/blog_51c1ed0501018syb.html

 

  近写的代码,要每帧每帧的保存数据到txt文件中,很长一段时间的做法如下:
 
   ofstream  f_magni_deviation; //ofstreamrequirement:Header:  <fstream>  Namespace:  std
 
  f_magni_deviation.open(".//txt_record//magni_deviation.txt", ios_base::app);  
 
  f_magni_deviation<<"   "<<magni_deviation<<endl;         
 
  f_magni_deviation.close();

#include <fstream>
using namespace std;

void main()
{
   ofstream f;
   f.open("test.txt", ios::trunc);
   f << "That's  ok" << endl;
   f.close();
}

 
  也就是每帧都进行打开、写入、关闭操作,为了保存所有帧的数据,使用ios_base::app标志,即每次都是追加的。这样可以做到运行一次程序,所有帧的数据都保存了。但麻烦在于,下一次运行程序时就必须手动把txt文件的内容清空,这样才方便记录此次数据,不然是直接追加在上一次运行的数据后面的。当一个txt的时候还好,txt多了,程序调试次数多了,就有点让人烦躁了。
 
  之前的偷了小巧,先备份所有空文件,然后下次运行前,覆盖掉所有txt,但次数多了,还是麻烦。
 
  一直太懒了,今天想还是再填几行代码,图个省事。
 
  解决方法如下:
 
  在程序刚开始,进入帧处理的循环前,把所有的txt记录文件内容清空。添加函数如下:
 
   voidClearAlltxtRecorder()
 
  {
 
   ofstream  f_magni_deviation;
 
  f_magni_deviation.open(".//txt_record//magni_deviation.txt",ios::trunc);  
 
   f_magni_deviation.close();
 
  }
 
  选择标志位ios::trunc,即清空文件内容。
 
  这下省事多了,哈哈

 
 有关oftream类使用方法参见:http://edu.xvna.com/html/60823.html  

0 0
原创粉丝点击