LoginSignup
2
2

More than 5 years have passed since last update.

指定されたファイルをコピーするプログラムを作ってみた

Posted at
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");

}

動かしてみたら出来たのだが…………

filecopy.png
右:コピー元 左:コピー後

はて? 何故文字が変わってしまうのだろうか…………?

2
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2