使用字符串来读取文件 - Xcode

时间:2010-04-24 18:31:51

标签: c++ xcode macos

以下不起作用,当我在调试器中运行时给我一个SIGABRT:


std::ifstream inFile;

inFile.open("/Users/fernandonewyork/inputText.txt");    

cout << inFile << endl;

vector<string> inText;

if (inFile) {
    string s4;

    while (inFile>>s4) {
        inText.push_back(s4);
    }

}
inFile.close();

以下是:


std::ifstream inFile;

inFile.open("/Users/fernandonewyork/inputText.txt");    

cout << inFile << endl;

vector<string> inText;

if (inFile) {
    string s4("This is no lnger an empty string");

    while (inFile>>s4) {
        inText.push_back(s4);
    }

}
inFile.close();

我的印象是我能够简单地使用s4而不必担心任何空间考虑因素,或者是否有其他事情发生在这里?这是我从顶部代码得到的完整错误:

malloc: *对象0x100010a20的错误:未分配被释放的指针 * 在malloc_error_break中设置断点以进行调试 程序收到信号:“SIGABRT”。

1 个答案:

答案 0 :(得分:1)

an earlier question

涵盖了这个令人震惊的错误
  

解决方案:

     

_GLIBCXX_FULLY_DYNAMIC_STRING=1
     

在目标中的预处理器宏中   信息构建标签。

还有另一个设置窗口,其中包含预处理器宏字段(项目设置?),但设置此项将不起作用。

- 嗯,这个问题与这个问题有很大的不同,但具有讽刺意味的是,你的症状更常见。