C_C++

(C언어) 파일복사 명령어를 만들어 봅니다: fgetc fputc

고니자니 2022. 12. 1. 10:29
반응형

#파일 #복사 #카피 #copy #fgetc #fputc #fopen #mycopy #my_copy

 

 

fgetc

int fgetc(FILE *stream)

스트림으로부터 한 문자를 읽어 int 형식으로 반환합니다.

스트림의 끝에 도달하면 EOF를 반환합니다.

 

fputc

int fputc(int c, FILE *stream)

스트림에 한 개의 문자를 출력합니다.

성공하면 문자 c를 반환하고, 오류가 발생하면 EOF를 반환합니다.

 

 

명령프롬프트에서 실행되는 파일을 복사하는 명령어를 만들어 봅니다.

#define _CRT_SECURE_NO_WARNINGS   // Visual Studio
#include <stdio.h>

int main(int argc, char* argv[])
{
	FILE* fp1, * fp2;
	char ch;

	if (argc != 3)
	{
		printf("명령 구문이 올바르지 않습니다\n\n");
		return -1;
	}

	fp1 = fopen(argv[1], "r");
	if (fp1 == NULL)
	{
		printf("지정된 파일을 찾을 수 없습니다.\n\n");
		return -1;
	}

	fp2 = fopen(argv[2], "w");
	if (fp2 == NULL)
	{
		printf("지정된 파일을 생성할 수 없습니다.\n\n", argv[2]);
		return -1;
	}

	while ((ch = fgetc(fp1)) != EOF)
		fputc(ch, fp2);

	fclose(fp1);
	fclose(fp2);

	return 0;
}

 

 

 

 

반응형