0
마지막 줄부터 시작하여 텍스트 파일에서 예를 들어 10 줄의 마지막 줄을 읽으려면 어떻게해야합니까? 너는 C로 어떤 생각을 가지고 있니?c의 텍스트 파일을 역방향으로 읽음
마지막 줄부터 시작하여 텍스트 파일에서 예를 들어 10 줄의 마지막 줄을 읽으려면 어떻게해야합니까? 너는 C로 어떤 생각을 가지고 있니?c의 텍스트 파일을 역방향으로 읽음
버퍼에서 작동하는 것보다 파일에서 마지막 n 바이트를 읽어야합니다. 예를 들어 파일에서 마지막 BUFFER_SIZE 바이트를 읽으려면 stdio를 사용하여 다음과 같이 할 수 있습니다.
#define BUFFER_SIZE = 4096;
char buffer[BUFFER_SIZE];
FILE* file = fopen("filename", "rb");
size_t bytesRead = -1;
if(file) {
fseek(file, BUFFER_SIZE, SEEK_END);
bytesRead = fread(buffer, sizeof(char), BUFFER_SIZE, file);
/* Process the buffer here */
}
fclose(file);
file = NULL;
순환 대기열을 사용합니다. –
파일 끝에 도달 할 때까지 각 문자를 살펴볼 것입니다. 얼마나 많은 cr/lf를 통과했는지 추적하고, cr/lf 카운트가 총계 10보다 작을 때까지 아래쪽에서 뒤로 라인을 읽습니다. – Ted
@Cody Grey : 어떻게해야합니까? 하나의 간단한 방법은 내가 아는 모든 파일 라인을 읽고 다음 배열에있는 마지막 10 라인을 보여? –