讀取檔案全部內容---C++ 和 寫入資料到檔案
阿新 • • 發佈:2019-01-02
//使用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();