我错过了什么吗?我一直在输出“找不到文件!”

时间:2012-06-06 22:27:06

标签: c++

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();
}

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

1 个答案:

答案 0 :(得分:1)

我猜你真的需要帮助调试为什么会发生这种情况。

尝试在日常工作中添加更多代码,以帮助您确定正在进行的操作。要尝试的一件事是致电getcwd

#include <unistd.h>

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

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

从第一个开始,我猜你接下来的步骤对你来说很明显。