[C언어] 파일 입출력 함수의 기본

2023. 4. 13. 11:58코딩테스트 Intro/C

728x90

chapter21

int fputc(int c, FILE *stream); // 문자 출력
int fgetc(FILE*stream); // 문자 입력
int fputs(const char*s, FILE*stream); // 문자열 출력
char *fgets(char*s, int n, FILE*stream); // 문자열 입력

당시에는 매개변수 stream에 stdin 또는 stdout을 인자로 전달하여 콘솔을 대상으로 입출력을 진행하였지만, 위의 함수들은 FILE 구조체의 포인터를 인자로 전달하여 파일을 대상으로 입출력을 진행할 수 있는 함수들이다.

 

문자 2개 쓰고 했으면 문자 2개를 먼저 읽고 그 다음에 다른 프로세스를 한다.

즉, write 순서대로 read 해야 한다.

int main(void) {
	FILE*fp=fopen("simple.txt", "wt");
    if(fp==NULL) {
    	puts("파일 오픈 실패!");
        return -1;
    }
    fputc('A', fp); // 문자 A와 B가 fp가 가리키는 파일에 저장
    fputc('B', fp);
    fputs("My name is Hong\n", fp);
    fputs("Your name is Yoon\n", fp);
    fclose(fp);
    return 0;
}

int main(void) {
	char str[30];
    int ch;
    FILE*fp=fopen("simple.txt", "rt");
    if(fp==NULL) {
    	puts("파일 오픈 실패!");
        return -1;
    }
    ch=fgetc(fp);
    printf("%c \n", ch);
    ch=fgetc(fp);
    printf("%c \n", ch);
    fgets(str, sizeof(str), fp); // \n을 만날 때 까지 read
    printf("%s, str);
    fgets(str, sizeof(str), fp); // \n을 만날 때 까지 read
    printf("%s, str);
    fclose(fp);
    return 0;
 }

 

728x90