zoukankan      html  css  js  c++  java
  • [c++][语言语法]stringstream iostream ifstream

    c++中ifstream一次读取整个文件

    读取至char*的情况

    1. std::ifstream t;  
      int length;  
      t.open("file.txt");      // open input file  
      t.seekg(0, std::ios::end);    // go to the end  
      length = t.tellg();           // report location (this is the length)  
      t.seekg(0, std::ios::beg);    // go back to the beginning  
      buffer = new char[length];    // allocate memory for a buffer of appropriate dimension  
      t.read(buffer, length);       // read the whole file into the buffer  
      t.close();                    // close file handle 

    读取至std::string的情况:


    第一种方法:

    #include <string>  
    #include <fstream>  
    #include <streambuf>  
      
    std::ifstream t("file.txt");  
    std::string str((std::istreambuf_iterator<char>(t)),  
                     std::istreambuf_iterator<char>()); 
    

    第二种方法:

    #include <string>  
    #include <fstream>  
    #include <sstream>  
    std::ifstream t("file.txt");  
    std::stringstream buffer;  
    buffer << t.rdbuf();  
    std::string contents(buffer.str());
  • 相关阅读:
    论语言思维的差异
    lua经典问题
    跳槽的故事
    未来一年计划
    腾讯面试题 找重复的数
    nodejs学习
    node记录
    mysql 常用总结
    ubuntu 服务器搭建汇总
    ubuntu下安装golang
  • 原文地址:https://www.cnblogs.com/lyggqm/p/5315214.html
Copyright © 2011-2022 走看看