用C ++读取文件中的输入

时间:2014-12-14 22:04:02

标签: c++ file-io input

使用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 == ',');
}

1 个答案:

答案 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

提示: 我希望逐行读取表达式并像生成输出一样生成输出,但是使用文件中的表达式

顺便说一下,你想要什么样的“文件表达”?