-1
void getBookData(bookType books[], int& noOfBooks)
{
    ifstream infile;
    string file = "bookData.txt";
    infile.open(file.c_str());
    if (infile.fail()) {
        cout << "No file found!" << endl;
        infile.clear();
    }
    while (true) {
        string line;
        getline(infile, line, '\r');
        if (infile.fail()) {
            break;  
        }
        cout << "Line: " << line << endl;
    }
    infile.close();
}

我已经尝试将文件放在我能想到的每个位置,但不知何故它没有加载。或者,更有可能的是,我做错了其他事情。这不像我的代码的最终结果应该是什么样的,现在我只是想逐行读出我的文件。

4

1 回答 1

1

我想您确实需要帮助调试为什么会发生这种情况。

尝试在您的例程中添加更多代码,以帮助您确定发生了什么。要尝试的一件事是调用getcwd.

#include <unistd.h>

...
char buf[PATH_MAX];
std::cout << "cwd: " << getcwd(buf, sizeof(buf)) << std::endl;
...

这应该向您报告您的程序认为它从哪里运行。

首先从那个开始,我猜接下来的步骤对你来说会变得很明显。

于 2012-06-07T00:28:28.360 回答