0

读取内容为“aaaaa”且 char* 文本返回“”的文件。

在步骤执行之后显示它在结束和结束之前通过 fp>>文本行一次。文件正确打开。有任何想法吗?

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 回答