본문 바로가기

c언어콘서트6

[c언어 콘서트] 12장 9번 (파일 출력2) [12장 9번] 텍스트 파일의 내용을 한 화면 크기만 출력한 다음, 아무 키를 누르면 다음 화면을 보여주는 프로그램을 작성하라. 이것은 유닉스 시스템의 명령어인 more와 유사하다. [풀이]#include #include int main() { FILE *fp; char name[20]; char buffer[200]; printf("첫번째 파일 이름 : "); scanf("%[^\n]s", name); int num = 0, ret; fp = fopen(name, "r"); while (1) { num++; if (num % 19 == 0) _getwch(); ret = fgets(buffer, 200, fp); if (ret == 0) break; printf("%d: %s", num, buffer).. 2018. 11. 21.
[c언어 콘서트] 12장 8번 (파일 비교2) [12장 8번] 두개의 텍스트 파일을 서로 비교하는 프로그램을 작성하여 보자. 파일의 이름은 사용자에게 입력받는다. 만약 두개의 파일이 일치하면 "파일은 서로 일치함"을 출력하며 일치하지 않으면 처음 일치하지 않는 문장을 다음과 같이 출력한다. [test1.c]내용 : #include [test2.c]내용 : #include ,stdio.h> [풀이]#include #include #include int main() { FILE *fp1; FILE *fp2; char name1[20]; char name2[20]; char buffer1[200]; char buffer2[200]; printf("첫번째 파일 이름 : "); scanf("%s", name1); printf("두번째 파일 이름 : "); s.. 2018. 11. 21.
[c언어콘서트] 12장 7번 (파일 저장) [12장 7번] 사용자가 입력하는 텍스트를 파일에 저장하여 주는 프로그램을 작성해보자. 사용자가 공백 문자열을 입력하면 종료하는 것으로 한다.공백문자 : ctrl+z [풀이]#include #include int main() { FILE *fp; char name[20]; char buffer[200]; int ret; printf("파일 이름을 입력하시오 : "); scanf("%s", name); getchar(); fp = fopen(name, "w"); if (fp == NULL) exit(0); while (1) { ret = gets(buffer); if (ret == 0) break; fprintf(fp, "%s\n", buffer); }; fclose(fp); return 0; } 2018. 11. 21.
[c언어콘서트] 12장 6번 (파일 출력) [12장 6번] 텍스트 파일의 내용을 읽어서 그대로 화면에 출력하여 주는 프로그램을 작성해보자. 각 문장 앞에는 번호를 붙인다. [풀이]#include #include int main() { FILE *fp; char file[100]; char buffer[1000]; int line_cnt = 1; printf("파일 이름을 입력하시오: "); scanf("%s", file); fp = fopen(file, "r"); if (fp == NULL) exit(1); while (1) { char *p = fgets(buffer, 1000, fp); if (p == NULL) break; printf("%d %s", line_cnt, p); line_cnt++; } fclose(fp); printf("\n.. 2018. 11. 21.
[c언어콘서트] 12장 5번 (파일 비교) [12장 5번] 두 개의 텍스트 파일을 비교하여 같은지, 다른지를 알려주는 프로그램을 작성하라. [programming_5(1).txt] [programming_5(2).txt] [풀이]#include #include int main() { FILE *fp1, *fp2; char file1[100], file2[100]; printf("첫번째 파일 이름: "); scanf("%s", file1); printf("두번째 파일 이름: "); scanf("%s", file2); fp1 = fopen(file1, "r"); if (fp1 == NULL) exit(1); fp2 = fopen(file2, "r"); if (fp2 == NULL) exit(1); while (1) { int c1 = fgetc(fp.. 2018. 11. 21.
[c언어콘서트] 12장 4번 (파일 크기 비교) [12장 4번] 임의의 실수 100개를 생성시킨 후에 텍스트 파일과 이진 파일로 저장하여 보고 그 크기를 비교하여 보라. [만들어진 파일]- w(텍스트파일) wb(이진 파일) [풀이]#include #include int main() { FILE *fp1 = NULL; FILE *fp2 = NULL; int value, i; fp1 = fopen("programming_4(w).txt", "w"); if (fp1 == NULL) exit(1); fp2 = fopen("programming_4(wb).txt", "wb"); if (fp2 == NULL) exit(1); for (i = 0; i < 100; i++) { value = rand(); fprintf(fp1, "%d ", value); fwrit.. 2018. 11. 21.