这是我的第一篇文章,对C ++还是相当陌生。我目前正在寻找一种将多个变量保存到文件(XML或TXT)的方法,如下所示:
charactername:George
level:5
我也希望能够阅读这些内容并将它们放入变量中。
例如:
std::string characterName = "George";
(但是它将从文件字符名:George中的行中读取George)
我在1个文件中总共要有68个变量(48个字符串,11个整数和9个布尔值)。
有人知道这样做的方法或可以向我指出的教程吗?我发现是将1个字符串保存到文件中,但是不能保存多个不同类型的变量。
答案 0 :(得分:0)
我认为您应该学习如何使用数据文件矩阵,
但是在此之前,有一些基本的文件管理代码供您尝试使用,您将能够读入数据并根据结构化布局对其进行恢复,而在恢复布尔数据时,请使用隐式转换从字符串。
以下是一些基本的文件操作,这将创建一个txt文件,其中包含新行的数据:
// basic file operations
// writing on a text file
#include <iostream>
#include <fstream>
using namespace std;
int main () {
ofstream myfile ("example.txt");
if (myfile.is_open())
{
myfile << "This is a line.\n";
myfile << "This is another line.\n"; // this will for data onto a new line to be read later.
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
如何恢复数据,这会将数据放入一个字符串数组,然后可用于从代码中调用数据:
// how to retrieve the data:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line, data_array[67];
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
data_array[i] = line; i++;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
如何编辑数据,您将需要一个函数来读取所有变量并重写整个文本文件,除非每一行与您不能直接跳转到的字节完全相同。
要深入了解详细信息,您应该学习如何使用数据文件矩阵,以下是一些不错的视频,可以帮助您入门。
C++ Tutorial (Reading Rows and Columns from datafile Matrix
Matrix in C++ | Part #1 | simple matrix definition using arrays