C언어/C언어 예제

[C언어 소스] fgets 함수 사용 예제

언제나휴일 2016. 5. 3. 02:04
반응형

[C언어 소스] fgets 함수 사용 예제


//C언어 표준 라이브러리 함수 사용법 가이드

//char *fgets(char * buffer, int max, FILE * stream);  파일 스트림의 버퍼에서 문자열을 읽는 함수

//파일의 데이터를 라인별로 분석하여 대문자, 소문자, 다른 문자 개수를 출력

#include <stdio.h>

 

int main(void)

{

    FILE *fp;

    char buf[256];

    int i;

    int lc = 0, uc = 0, ec = 0;

 

    //입력 파일 열기

    fopen_s(&fp, "input.txt", "r");

 

    while (!feof(fp))//파일 스트림의 끝을 만날 때까지 반복

    {

        lc = uc = ec = 0;

        fgets(buf, sizeof(buf), fp);//입력 스트림에서 문자열 읽기

 

                                    //읽어온 문자열 분석

        for (i = 0; buf[i]; i++)//buf[i]가 참인 문자면 반복

        {

            if ((buf[i] >= 'a') && (buf[i] <= 'z'))//소문자일 때

            {

                lc++;

            }

            else if ((buf[i] >= 'A') && (buf[i] <= 'Z'))//대문자일 때

            {

                uc++;

            }

            else//다른 문자일 때

            {

                ec++;

            }

        }

        //분석 정보 출력

        printf("%s", buf);

        printf("소문자: %d개 대문자: %d개 기타: %d\n", lc, uc, ec);

    }

    fclose(fp);

    return 0;

}

 

input.txt 내용

int printf(const char * format, ...);

int putc(int ch,FILE *fp);

int putchar(int ch);

 

출력

int printf(const char * format, ...);

소문자: 24개 대문자: 0개 기타: 14

int putc(int ch,FILE *fp);

소문자: 14개 대문자: 4개 기타: 9

int putchar(int ch);

소문자: 15개 대문자: 0개 기타: 5



언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형