오늘은 코딩도장 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;
}
[c언어] 코딩도장 31.7 산 모양으로 별 출력하기 문제풀이 (0) | 2021.07.16 |
---|---|
[c언어] 코딩도장 73.7 퀵 정렬 함수 사용하기 문제 풀이 (0) | 2021.07.09 |
[c언어] 코딩도장 68.5 반환값과 매개변수가 있는 함수 포인터 만들기 문제풀이 (0) | 2021.07.02 |
[c언어] 코딩도장 66.7 가변 인자의 정수 합 구하기 문제풀이 (0) | 2021.07.01 |
[c언어] 코딩도장 67.6 재귀호출로 피보나치 수 구하기 문제풀이 (0) | 2021.06.30 |
댓글 영역