다음의 예제 프로그램의 목적은 원본파일을 불러서 새로운 파일로 복사를 하는 겁니다. 똑같이...
이 때 원본 파일의 이름을 선택할 수 있으며, 새로 복사되는 파일의 이름도 지정할 수 있도록 했습니다.
[아래] 와 같습니다.
[아래]
#include <stdio.h>
int main(void)
{
FILE *ifp, *ofp;
int ch;
char *source; // 오류수정 => char source[128];
char *result; // 오류수정 => char result[128];
printf("\ninput the source file name: ");
scanf("%s", source);
printf("\noutput the result file name: ");
scanf("%s", result);
ifp=fopen(source, "r");
ofp=fopen(result, "w");
while ((ch=getc(ifp)) != EOF)
{
putc(ch, ofp);
}
fclose(ifp);
fclose(ofp);
return 0;
}
----------------------
[질문]
위의 파일이름 선언부분에서 포인터변수로 선언하면 안되고 메모리를 할당해야한다고 하는데,
왜 그런지 기초가 약해서 언뜻 이해가 되지 않습니다.
많은 지도 답변 바랍니다...
|