반응형

사용자로부터 받은 파일 이름으로 텍스트 파일을 연 후에 파일 안에 들어 있는 인쇄 가능한 문자들의 개수를 계산하여 출력하라.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define SIZE 100
int main(void)
{
    FILE *fp=NULL;
    char name[SIZE];
    char buf[SIZE];
    int count=0;
    int i=0;
    printf("파일 이름을 입력하세요: ");
    gets(name);
    if((fp=fopen(name,"r"))==NULL)
    {
        fprintf(stderr,"파일오픈오류\n");
        exit(1);
    }
    while(!feof(fp))
    {
        fgets(buf,SIZE,fp);
        for(i=0;buf[i]!='\0';i++)
        {
            if(isprint(buf[i])) //0이아니면프린트가능,0이면프린트불가 (아스키 32~126)
            count++//공백' '은 세어지고 탭(\t)은 안 세어지고 \n도 안 세어진다.
        }
    }
    printf("인쇄 가능한 문자의개수는 %d개입니다.\n", count);
    return 0;
}
cs


직접 세어보세요. 공백 (' ') 은 세어지고 탭 (\t)은 안 세어지고 줄바꿈(\n) 도 안 세어집니다.









반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

줄 번호 붙이기  (0) 2017.02.17
사용자 입력 텍스트 파일 저장  (0) 2017.02.13
성적 평균 구하기  (0) 2017.02.12
텍스트 파일 비교  (0) 2017.02.11
fgets 함수  (0) 2017.02.11

+ Recent posts