使用Microsoft visual c ++我有这个程序。我希望逐行读取表达式并像生成输出一样生成输出,但是使用文件中的表达式。我该怎么做?另外,我将输入文件放在哪里以便读入?我更熟悉java而不是C ++。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#include "expression.h"
#include "subexpression.h"
#include "symboltable.h"
#include "parse.h"
SymbolTable symbolTable;
void parseAssignments();
int main()
{
Expression* expression;
char paren, comma;
cout << "Enter expression: ";
cin >> paren;
expression = SubExpression::parse();
cin >> comma;
parseAssignments();
cout << "Value = " <<(int) expression->evaluate() << endl;
return 0;
}
void parseAssignments()
{
char assignop, delimiter;
string variable;
double value;
do
{
variable = parseName();
cin >> ws >> assignop >> value >> delimiter;
symbolTable.insert(variable, value);
} while (delimiter == ',');
}
答案 0 :(得分:1)
您必须使用fstream库中的ifstream和ofstream来读取和写入文件
从文件中读取
char data[10];
ifstream file("text.txt");
file >> data;
写入文件
char data[10];
ofstream file("text.txt");
file << data;
然后逐行阅读
vector<string> string[Amount of lines];
int i = 0;
while (!file.eof())
{
getline(file, string[i]);
i++;
}
不要忘记关闭文件
逐行回答 - &gt; Link
来源 - &gt; Link2
有关fstream的更多信息 - &gt; Link3
提示: 我希望逐行读取表达式并像生成输出一样生成输出,但是使用文件中的表达式
顺便说一下,你想要什么样的“文件表达”?