filecopy.c
/*ファイルの読み込み、書き込みを行って、指定されたテキストファイルをコピーするプログラム*/
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 500
main()
{
FILE *fp1, *fp2 ;
char *p ;
char str[MAX_LENGTH] ;
char ReadFileName[100] ;
char WriteFileName[110] ;
printf("\nコピーするファイル名を、半角換算100文字以内で入力してください。\n例:test.txt\n\nファイル名:");
gets( ReadFileName );
fp1 = fopen ( ReadFileName , "r") ;
while (fp1 == NULL)
{
printf("\n\n\n指定されたファイルは存在しません。存在するファイル名を入力してください。\nファイル名:");
gets( ReadFileName );
fp1 = fopen ( ReadFileName , "r") ;
}
strcpy(WriteFileName, "");
strcat(WriteFileName, "copy_of_");
strcat(WriteFileName, ReadFileName);
fp2 = fopen ( WriteFileName , "w");
p = fgets(str, MAX_LENGTH , fp1);
while (p != NULL)
{
fprintf(fp2, str);
p = fgets(str, MAX_LENGTH , fp1);
}
fclose(fp1);
fclose(fp2);
printf("\n\n指定されたファイルのコピーが完了しました。\n\n");
}
動かしてみたら出来たのだが…………
はて? 何故文字が変わってしまうのだろうか…………?