상세 컨텐츠

본문 제목

[c언어] 코딩도장 71.11 파일을 읽은 뒤 거꾸로 저장하기 문제풀이

c언어

by ~지우~ 2021. 7. 22. 14:32

본문

728x90

<문제> 문자열이 저장된 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;
}
728x90

관련글 더보기

댓글 영역