0

内容が「aaaaa」で char* テキストのファイルを読み取ると、「」が返されます。

次のステップ実行は、fp>>text 行を 1 回通過してから終了することを示しています。ファイルが正しく開きます。何か案は?

char* Load_Wave_File(char *fname)
{
    std::ifstream fp(fname,std::ios::binary);

    std::streampos fsize=0;
    fsize=fp.tellg();
    fp.seekg(0,std::ios::end);
    fsize=fp.tellg()-fsize;

    char* text;
    text=new char[fsize];
    if(fp.is_open())
    {
        while(!fp.eof())
        {
            fp>>text;
        }
        fp.close();
        return text;
    }
    else
    {
        fp.close();
        return false;
    }
}
4

1 に答える 1

3

次の行を使用して、読み取りポインタをファイルの終わりを超えて移動しました。

fp.seekg(0,std::ios::end);

最初にリセットする必要があります。あなたはそれを行うことができます:

fp.seekg(0,std::ios::beg);
于 2012-05-17T16:16:34.120 に答える