原文地址:https://www.cnblogs.com/kex1n/p/4028428.html
//使用char接收---#include<fstream>
#include<fstream>
std::ifstream t;
int length = 0;
t.open("../vtkWriter.cxx"); // 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
char* 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
//使用string接收
#include<streambuf>
#include<sstream>
std::ifstream t("../filename.txt");
std::string str((std::istreambuf_iterator<char>(t)),
std::istreambuf_iterator<char>());
std::cout << str;
std::cout.flush();
std::ifstream t("../filename.txt");
std::stringstream buffer;
buffer << t.rdbuf();
std::string contents(buffer.str());
std::cout << contents;
std::cout.flush();
2.一行一行读取文件
#include <sstream>
std::string filename = "test.txt";
std::ifstream filestream(filename.c_str());
std::string line;
while (std::getline(filestream, line))
{
double x, y, z;
std::stringstream linestream;
linestream << line;
linestream >> x >> y >> z;
cout << x << Y << z;
}
filestream.close();
文件截图:
3.使用ofstream写入数据到文件
注意:1.需包含头文件iostream和fstream
2.在.pro中添加CONFIG += c++11
std::string fileName = "./testfile.txt";
std::ofstream saveFile(fileName, std::ofstream::out);
int test[3] = {1,2,3};
saveFile << "A: " << test[0] << std::endl;
saveFile << "B: " << test[1] << std::endl;
saveFile << "C: " << test[2] << std::endl;
saveFile.close();