读取文件全部内容---C++ 和 写入数据到文件

原文地址:https://www.cnblogs.com/kex1n/p/4028428.html

//使用char接收---#include
#include
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
#include
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 
	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();

你可能感兴趣的:(c++)