C ++:使用堆栈反转文本文件中的行

时间:2012-04-19 17:15:45

标签: c++ text stack reverse lines

到目前为止我有这个代码:

#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <iostream>
#include <string>
#include <stack>
using namespace std;

int main () {


ifstream in;
in.open("example.txt");

ofstream outfile;
outfile.open("out.txt");

stack<string> lines;
string temp;
while(getline(in, temp))
    lines.push(temp);
while(!lines.empty())
    outfile << lines.pop() << endl;

in.close();
outfile.close();

return 0;
}

我的问题是,为什么我的编译错误为“不匹配运算符&lt;&lt; in outfile”。

1 个答案:

答案 0 :(得分:7)

pop()返回void,而不是std::string。使用top(),然后pop()

while(!lines.empty())
{
    outfile << lines.top() << endl;
    lines.pop();
}