从txt文件读取数据,在Visual Studio中工作但在Xcode中失败

时间:2014-06-30 01:54:15

标签: c++ xcode text

#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中工作过。为什么?

2 个答案:

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

我觉得这个问题很简单。我很抱歉我的答案输出不正确:(。