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

考えられるすべての場所にファイルを配置しようとしましたが、どういうわけか読み込まれません。または、何か間違ったことをしている可能性が高いです。これは、コードの最終結果がどのようなものになるかということとはまったく異なります。今は、ファイルを 1 行ずつ読み込もうとしているだけです。

4

1 に答える 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 に答える