1
나는 C가 좋지 않아 간단하게하려고합니다. 나는 이진 파일을 열어 1024 바이트의 데이터 블록을 읽고 버퍼에 덤프하고, 버퍼를 처리하고, 또 다른 1024 바이트의 데이터를 읽고 EOF가 될 때까지이 작업을 계속하고 싶다. 어떻게 버퍼링을하고 싶은지 어떻게 알지만 루프 부분과 파일 I/O가 계속 붙어 있습니다.C로 이진 파일 읽기 (청크)
의사 코드 :
FILE *file;
unsigned char * buffer[1024];
fopen(myfile, "rb");
while (!EOF)
{
fread(buffer, 1024);
//do my processing with buffer;
//read next 1024 bytes in file, etc.... until end
}
'fread'가 잘못되었습니다. 그리고'fopen '의 반환 값을 아무 것도 지정하지 않는다면, 적어도이 함수에 대한 매뉴얼 페이지를 읽었습니까? –
'while (! EOF) {...}'EOF는 상수입니다. 주의 :'fread()'는 4 개의 인수를 취합니다. 그리고 값을 반환합니다. – wildplasser
필수 : http://stackoverflow.com/questions/5431941/while-feof-file-is-always-wrong –