2

ファイルからバイトを読み込もうとしていますが、サイズが壊れています。デバッグ時に の値はわかりますがst.st_size、 の値を読み取ることができませんsize

int main(void)
{
    FILE* oud;
    struct stat st;
    _off_t size;
    unsigned* bytes;
    char const path[] = "C:\\Users\\Ruben\\Documents\\test.txt";
    errno_t error;

    if ((error  = fopen_s(&oud, path, "rb" )) != NULL)
        return -1;

    stat(path, &st);
    size = st.st_size;
    bytes = (unsigned*)malloc(size);
    fread(bytes, 1, size, oud);
    fclose(oud);

    getchar();
    return 0;
}
4

1 に答える 1

0

ループを使用して、バイトごとにファイルを反復処理し、EOF char をチェックすることをお勧めします。ファイルを見つけると、ファイルの実際のサイズがわかるようになり、最初から適切に読み取ることができ、バッファなどに配置できます。

于 2012-10-15T16:16:06.407 に答える