我的问题是:如何char*
在 C++ 中将 .txt 文件的内容存储在名为 m_str 的文件中?
请注意,我的文件具有我想要保留的非常明确的格式。我不想将这些行合并在一起。我希望第 1 行保持在第 1 行,第 2 行保持在第 2 行。因为最终我要序列化它char*
并通过网络发送它,当节点接收到它时,它将反序列化然后将内容放入文件中,并像在原始文件中一样读取这些行。
谢谢你。
您可以将矢量用作:
std::ifstream file("file.txt");
std::istreambuf_iterator<char> begin(file), end;
std::vector<char> v(begin, end); //it reads the entire file into v
char *contentOfTheFile= &v[0];
文件的内容存储在contentOfTheFile
. 你可以使用它,也可以修改它。
#include <vector>
#include <fstream>
#include <stdexcept>
void foo() {
std::ifstream stream("file.txt");
if (!stream) throw std::runtime_error("could not open file.txt.");
std::vector<char> str(std::istreambuf_iterator<char>(stream),
(std::istreambuf_iterator<char>()));
char* m_str = str.data();
}
应该做你需要的。