<문제> 문자열이 저장된 words.txt 파일이 주어집니다. 파일을 읽은 뒤 내용을 거꾸로 저장하는 프로그램을 만드세요. 결과는 fwrite 함수로 stdout에 저장하면 됩니다. 단, words.txt의 최대 크기는 10,000바이트입니다.
fseek(파일 포인터, 이동할 거리, 이동방식)
fread(저장할 문자열 포인터, 문자열 크기, 반복 횟수, 파일 포인터)
fwrite(저장할 문자열 포인터 주소, 각 문자열 크기, 저장 횟수, 파일 포인터)->이 때 파일 포인터 대신 stdout을 넣어주면 문자열이 화면에 출력된다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(){
char *buffer;
int size;
FILE *fp = fopen("words.txt", "r");
fseek(fp, 0, SEEK_END);
size = ftell(fp);
buffer = malloc(size+1);
memset(buffer, 0, size+1);
fseek(fp, 0, SEEK_SET);
fread(buffer, size, 1, fp);
for(int i=size-1;i>=0;i--){
fwrite(&buffer[i],sizeof(char),1,stdout);
}
return 0;
}
[c언어] strcmp 함수 구현하기 (0) | 2021.10.26 |
---|---|
[c언어] strlen 함수 구현하기 (0) | 2021.10.25 |
[c언어] 코딩도장 71.9 파일 크기만큼 파일 읽기 문제풀이 (0) | 2021.07.21 |
[c언어] 코딩도장 69.8 인적 정보 출력하기 문제풀이 (0) | 2021.07.20 |
[c언어] 코딩도장 79.8 정적 변수 선언하기 문제풀이 (0) | 2021.07.19 |
댓글 영역