본문 바로가기
2학년 2학기/c언어

12-5장 문자열 입출력 함수(fgets, fputs)

by kkkkk1023 2024. 11. 18.

fgets(입력할 문자열, 문자열의 크기, 파일 포인터)

: 특정 파일에서 한 문장을 읽어오는 것

 

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    FILE *fp;
    char str[100];

    // 파일 열기
    fp = fopen("file.txt", "r");
    if (fp == NULL) {
        fprintf(stderr, "파일 file.txt를 열 수 없습니다.\n");
        exit(0);
    }

    // 파일에서 한 줄씩 읽어서 출력
    printf("파일 내용을 출력합니다:\n");
    while (fgets(str, sizeof(str), fp) != NULL) { // 파일에서 한 줄 읽기
        printf("%s", str); // 읽은 줄 출력
    }

    fclose(fp); // 파일 닫기
    return 0;
}

 

 

file.txt

첫 번째 줄입니다.
두 번째 줄입니다.
세 번째 줄입니다.

 

 

출력

파일 내용을 출력합니다:
첫 번째 줄입니다.
두 번째 줄입니다.
세 번째 줄입니다.

 

 

 

fputs(출력할 문자열, fp)

특정 파일에 한 문장을 작성하는 것

 

#include<stdio.h>

int main(void)
{
	FILE *fp;
	char str[100];
	fp = fopen("file.txt", "w");
	if (fp == NULL) {
		fprintf(stderr, "파일 file.txt를 열 수 없습니다.\n");
		exit(0);
	}
	do {
		gets_s(str, sizeof(str));	// 사용자로부터 한 줄을 받는다. 
		fputs(str, fp);		// 한 줄을 파일에 쓴다. 
	} while (strlen(str) != 0);	// 사용자가 아무것도 적지 않으면 반복 루프 탈출
	fclose(fp);
	return 0;
}

 

입력

안녕
안녕하세요
하이

 

 

file.txt

안녕
안녕하세요
하이