#include <stream>
#include <iostream>
#include <stream>
#include <iosfwd>
#include <string>
using namespace std;
int main(int argc, const char * argv[]) {
string op = "original";
ifstream file;
file.open("sample.txt");
if(!file) {
cout << "Error: unable to open file." << endl;
}
else {
while(!file.eof()) {
file >> op;
cout << op << endl;
}
}
file.close();
return 0;
}
sample.txt只包含单词five
我在Visual Studio中运行此代码,输出是
five
我在Xcode中运行完全相同的代码(直接复制和粘贴,并且确实添加了data.txt)以及在命令行中打印的内容是
original
我看到的错误是
file >> op
从未真正在Xcode中工作过。为什么?
答案 0 :(得分:0)
以下是如何从文本文件
获取字符串的示例#include <fstream>
std::string getDataFromFile(std::string filepath)
{
ifstream fin;
std::ifstream file(filepath);
std::string temp;
stringstream fileData("");
while(std::getline(file, temp)) {
fileData << temp << "\r\n";
}
file.close();
return fileData.str();
}
答案 1 :(得分:-2)
在第20行(cout
)的cout << op << "haha" << endl;
声明中,必须删除<< "haha"
的文字。或者,如果您的预期输出应该等于:
five
haha
尝试这样做:
cout << op << endl <<"haha";
我觉得这个问题很简单。我很抱歉我的答案输出不正确:(。