쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 16-2

5.

#include <stdio.h>

int main(void) {

FILE* fp = NULL;
FILE* fpout = NULL;

char buffer[1000] = {
0
}
;

char name[1000] = {
0
}
;

int korean, math, english;

fp = fopen("sample.txt", "r");

if (fp == NULL) {

printf("파일 열기 실패\n");
return 0;
}

fpout = fopen("sample1.txt", "w");

if (fpout == NULL) {

printf("파일 열기 실패\n");
return 0;
}

while (fgets(buffer, 1000, fp) != NULL) {

sscanf(buffer, "%s %d %d %d", name, &korean, &math, &english);

fprintf(fpout, "%s", name);
fprintf(fpout, "%10.2f\n", (korean + math + english) / 3.0);
}

fclose(fp);

return 0;
}

6.

#include <stdio.h>
#include <ctype.h>

int main(void) {

FILE* fp = NULL;

int c, count = 0;
char file1[100];

printf("파일 이름을 입력하시오: ");
scanf("%s", file1);

if ((fp = fopen(file1, "r")) == NULL) {

fprintf(stderr, "원본 파일 %s을 열 수 없습니다.\n", file1);
exit(1);
}

while ((c = fgetc(fp)) != EOF) {

if (isprint(c))
count++;
}

fclose(fp);

printf("문자의 개수는 %d\n", count);
return 0;
}

7.

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

int main(void) {

FILE* fp1;

char file1[100];
char buffer[1000];

printf("파일 이름을 입력하시오: ");
scanf("%s", file1);

if ((fp1 = fopen(file1, "w")) == NULL) {

fprintf(stderr, "파일 %s을 열 수 없습니다.\n", file1);
exit(1);
}

while (1) {

char* p = gets(buffer);

if (p == NULL)
break;

fprintf(fp1, "%s\n", buffer);
}

fclose(fp1);
return 0;
}

8.

#include <stdio.h>

int main(void) {

FILE* fp1 = NULL;
FILE* fp2 = NULL;

int value, i;

fp1 = fopen("sample1.txt", "w");

if (fp1 == NULL) {

printf("파일 열기 실패\n");
return 0;
}

fp2 = fopen("sample2.txt", "wb");

if (fp2 == NULL) {

printf("파일 열기 실패\n");
return 0;
}

for (i = 0; i < 100; i++) {

value = rand();

fprintf(fp1, "%d", value);
fwrite(&value, sizeof(int), 1, fp2);
}

fclose(fp1);
fclose(fp2);

return 0;
}

댓글

이 블로그의 인기 게시물

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 10-3

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 16-1

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 13-2