Visual C ++从文件中保存/读取多个变量

时间:2018-08-23 05:44:14

标签: c++ file variables visual-c++ save

这是我的第一篇文章,对C ++还是相当陌生。我目前正在寻找一种将多个变量保存到文件(XML或TXT)的方法,如下所示:

charactername:George
level:5

我也希望能够阅读这些内容并将它们放入变量中。

例如:

std::string characterName = "George";

(但是它将从文件字符名:George中的行中读取George)

我在1个文件中总共要有68个变量(48个字符串,11个整数和9个布尔值)。

有人知道这样做的方法或可以向我指出的教程吗?我发现是将1个字符串保存到文件中,但是不能保存多个不同类型的变量。

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