如何从文件中为变量创建和添加值

时间:2016-10-27 13:44:46

标签: c++

我有一个看起来像这样的.dat文件

x -3
r 6
t -2
a 4
w 65
u 83
l 1
m 8888

我试图创建这个文件,然后使用infile为变量赋值。例如,int x = -3。我可以阅读所有的价值观,但我的问题是如何在我阅读之后做我想做的事。

 infile.open("test.dat");

while (infile.peek() != EOF) {
    //infile >> check; //gets string from file
    //cout << check;
    getline(infile,check);
   //cout << check << endl;
   }

从这里开始我会使用一个堆栈,然后再将它们弹出来吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过以下内容?

int value, x;
char variable;

infile.open("test.dat");

while (infile.peek() != EOF) {
    infile >> variable; // get variable
    infile >> value; // get value

    switch(variable){
        case 'x':
            x = value;
            break;
        default:
            cout << "Unknown variable." << endl;
            break;
    }
}

编辑:根据UKMonkey和Infixed建议,您也可以将值存储在地图中。

map<char, int> variables;

while (infile.peek() != EOF) {
    infile >> variable; // get variable
    infile >> value; // get value

    variables[variable] = value;
}

您可以从地图输出值。

for(auto itr : variables){
    cout << itr.first << " : " << itr.second << endl;
}

或类似

cout << variables['x'] << endl;