상세 컨텐츠

본문 제목

[c언어] 코딩도장 71.10 파일을 부분적으로 읽기 문제 풀이

c언어

by ~지우~ 2021. 7. 8. 14:16

본문

728x90

오늘은 코딩도장 71.10 심사문제 풀이를 해보겠습니다.

 

<문제> 문자열이 저장된 words.txt 파일이 주어집니다(반드시 GitHub 저장소의 Unit 71/words.txt 파일로 테스트하세요). 파일 처음부터 순방향으로 7바이트 지점에서 4바이트만큼 읽고, 파일 끝에서 역방향으로 6바이트 지점에서 2바이트만큼 읽은 값을 출력하는 프로그램을 만드세요. 단, 읽은 문자열은 공백으로 띄우지 않고 붙여서 출력합니다.

 

주의해야 할 점은 두번째로 파일을 읽을 때에는 버퍼를 다시 0으로 초기화해주어야 한다는 것입니다.

그렇지 않으면 처음 파일에서 읽어온 내용이 버퍼에 있게되면서 원하는 내용이 정확하게 나오지 않게 됩니다.

 

 

#define _CRT_SECURE_NO_WARNINGS    
#include <stdio.h>
#include <string.h>
int main(){
    char buffer[10] = {0, };
    FILE *fp = fopen("words.txt", "r");
    
    fseek(fp, 7, SEEK_SET);
    fread(buffer, 4, 1, fp);
    printf("%s", buffer);
    
    memset(buffer, 0, 10);
    
    fseek(fp, -6, SEEK_END);
    fread(buffer, 2, 1, fp);
    printf("%s", buffer);
    
    return 0;
}
728x90

관련글 더보기

댓글 영역