본문 바로가기
C언어

[C언어] 텍스트 파일에서 특정한 단어를 찾아서 다른 단어로 변경하여 출력 파일에 쓰는 프로그램을 작성하라.

by 이얏호이야호 2020. 5. 14.

파일에서 특정한 단어를 찾아 단어를 변경하는 프로그램을 가지고 왔습니다.

물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때

혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!

힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고

답안을 확인해보세요

 

더보기

첫번째 파일을 읽기모드로 열고

두번째 파일을 쓰기모드로 연다

첫번째 파일을 두번째 파일을 복사하고

두 번째 파일에서 Android를 만나면 "안드로이드"로 바꾸는 프로그램을 작성하면 됩니다

프로그램의 기본틀입니다.

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(void) {

	FILE *fp1, *fp2;

	char file1[100], file2[100];

	char buffer[100];

	printf("파일 이름: ");

	scanf("%s", file1);

	printf("파일 이름: ");

	scanf("%s", file2);

	// 첫번째 파일을 읽기 모드로 연다.

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

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

		exit(1);

	}

	// 두번째 파일을 쓰기 모드로 연다.

	if( (fp2 = fopen(file2, "w")) == NULL ) {

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

		exit(1);

	}

	// 첫번째 파일을 두번째 파일로 복사한다. 
    // Android를 만나면 "안드로이드로 변경한다.
    while( fgets(buffer, 100, fp1) != NULL ) {



}

fclose(fp1);

fclose(fp2);

return 0;

}

 

더보기
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(void) {

	FILE *fp1, *fp2;

	char file1[100], file2[100];

	char buffer[100];

	printf("파일 이름: ");

	scanf("%s", file1);

	printf("파일 이름: ");

	scanf("%s", file2);

	// 첫번째 파일을 읽기 모드로 연다.

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

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

		exit(1);

	}

	// 두번째 파일을 쓰기 모드로 연다.

	if( (fp2 = fopen(file2, "w")) == NULL ) {

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

		exit(1);

	}

	// 첫번째 파일을 두번째 파일로 복사한다. 
    while( fgets(buffer, 100, fp1) != NULL ) {

	char *pos = strtok(buffer, " ");

	while(pos != NULL) {

		if( strcmp("Android" , pos)==0 )

		fprintf(fp2, "안드로이드 "); else

		fprintf(fp2, "%s ", pos);

		pos = strtok(NULL, " ");

	}

}

fclose(fp1);

fclose(fp2);

return 0;

}

 

 

 

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

댓글