반응형
사용자로부터 받은 파일 이름으로 텍스트 파일을 연 후에 파일 안에 들어 있는 인쇄 가능한 문자들의 개수를 계산하여 출력하라.
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 |