• [C++]读写文件


    C++对文件处理没有shell等脚本语言方便,但也不是无计可施。

    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	ifstream in("a.txt");
    	ofstream out("b.txt");
    
    	if(!in || !out)
    	{
    		cerr << "Can not open the files!" << endl;
    		return -1;
    	}
    	string line, tmp;
    	while(getline(in, line))
    	{
    		istringstream iss(line);
    		while(iss >> tmp)
    		{
    			out << tmp << "	";
    		}
    		out << endl;
    	}
    
    	in.close();
    	out.close();
    
    	return 0;
    }
    

    补充:

    文件打开方式选项:
      ios::in        //供读,文件不存在则创建(ifstream默认的打开方式)
      ios::out       //供写,文件不存在则创建,若文件已存在则清空原内容(ofstream默认的打开方式)
      ios::ate       //文件打开时,指针在文件最后。可改变指针的位置,常和in、out联合使用
      ios::app      //供写,文件不存在则创建,若文件已存在则在原文件内容后写入新的内容,指针位置总在最后
      ios::trunc      //在读写前先将文件长度截断为0(默认)
      ios::nocreate    //文件不存在时产生错误,常和in或app联合使用
      ios::noreplace   //文件存在时产生错误,常和out联合使用
      ios::binary     //二进制格式文件  

    随机读写文件:
      seekg(绝对位置)      //绝对移动,    //输入流操作
      seekg(相对位置,参照位置)   //相对操作
      tellg()            //返回当前指针位置
      seekp(绝对位置)      //绝对移动      //输出流操作
      seekp(相对位置,参照位置)  //相对操作   
      tellp()              //返回当前指针位置
      参照位置:
      ios::beg           //相对于文件头
      ios::cur           //相对于当前位置
      ios::end            //相对于文件尾

  • 相关阅读:
    Webpack 从0开始
    MongoDB 从0开始
    Generator & Co
    Rem & Viewport
    Gulp 之二
    关于CSS动画几点要注意的地方
    移动端的click
    Gulp browserify livereload
    Javascript 设计模式笔记
    JS 继承
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3790769.html
Copyright © 2020-2023  润新知