오늘은 코딩도장 71.9 심사문제 풀이를 해보겠습니다.
fseek(파일 포인터, 이동할 거리, 이동 방식)
fread(저장할 문자열 포인터, 문자열 크기, 반복 횟수, 파일 포인터) ->이때 문자열 크기를 sizeof(char)로 지정하면 문자열 길이를 반환한다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int getFileSize(FILE* fp)
{
int size;
int currPos = ftell(fp);
fseek(fp, 0, SEEK_END);
size = ftell(fp);
fseek(fp, currPos, SEEK_SET);
return size;
}
char* getData(int offset, int size, int* count, FILE* fp)
{
char* buffer = malloc(size + 1);
memset(buffer, 0, size + 1);
fseek(fp, offset, SEEK_SET);
*count = fread(buffer, sizeof(char), size, fp);
return buffer;
}
int main()
{
char* buffer;
int size;
int count;
FILE* fp = fopen("words.txt", "r");
size = getFileSize(fp);
buffer = getData(0, size, &count, fp);
printf("%s\n", buffer);
printf("%d", count);
fclose(fp);
free(buffer);
return 0;
}
[c언어] strlen 함수 구현하기 (0) | 2021.10.25 |
---|---|
[c언어] 코딩도장 71.11 파일을 읽은 뒤 거꾸로 저장하기 문제풀이 (0) | 2021.07.22 |
[c언어] 코딩도장 69.8 인적 정보 출력하기 문제풀이 (0) | 2021.07.20 |
[c언어] 코딩도장 79.8 정적 변수 선언하기 문제풀이 (0) | 2021.07.19 |
[c언어] 코딩도장 53.7 나이가 가장 많은 사람 찾기 문제풀이 (4) | 2021.07.17 |
댓글 영역