소프트웨어

[c/c++] fwrite, fread 사용법

개발자_이훈규 2014. 2. 25. 18:24

1.

키워드 : 파일 쓰기, 파일 읽기, fread, fwrite, fopen, fclose, fp, FILE



2.

 사용법

fwrite(쓸 문자열의 주소, 문자열 사이즈, 반복 횟수, 쓸 파일 포인터)

fread(저장할 문자열의 주소, 문자열 사이즈, 반복 횟수, 읽을 파일 포인터)


tip

fwrite의 문자열 사이즈는 strlen으로 문자열의 길이,

fread의 문자열의 사이즈는 char buffer의 총 길이




3.

코드


file.c


#include <stdio.h>                                                              

#include <string.h>                                                             

                                                                                

int main() {                                                                    

                                                                                

    FILE *fp;                                                                   

    char input[100] = "hello world\n";                                          

    char output[100];                                                           

                                                                                

    //*************                                                             

    // write data                                                               

    fp = fopen("devKyu.txt", "w");                                              

                                                                                

    if( fp == NULL )                                                            

        return -1;                                                              

                                                                                

    // write( string pointer, string size, repeat, file pointer);               

    fwrite(input, strlen(input), 1, fp);                                        

                                                                                

    fclose(fp);                                                                 

                                                                                

    //*************                                                             

    // read data                                                                

                                                                                

    fp = fopen("devKyu.txt", "r");                                              

                                                                                

    if( fp == NULL )                                                            

        return -1;                                                              

                                                                                

    fread(output, sizeof(output), 1, fp);                                       

    printf("output : %s", output);                                              

                                                                                

    fclose(fp);                                                                 

                                                                                

                                                                                

    return 0;                                                                   

}