-2

あるテキスト ファイルから別のテキスト ファイルにデータを転送する際に問題が発生する。私の考えは、キャラクターごとに転送することですが、うまくいかないようです。これらのコードを最初に追加しました

FILE *addressPtr;
FILE *ressPtr;   

addressPtr = fopen("temporary.txt","w");

これらのコードのセットはスイッチ状態にあります

fclose(addressPtr);
addressPtr = fopen("temporary.txt","r");
while((filechar = fgetc(addressPtr)) != EOF){
    fclose(addressPtr);
    ressPtr = fopen("Address Book.txt","a");
    fprintf(ressPtr,"%c",filechar);
    fclose(ressPtr);
    addressPtr = fopen("temporary.txt","r");
}
printf("The file has been successfully saved!!");

これらのファイル操作について学んだばかりで、何が悪かったのかよくわかりません

Address Book.txt ファイルを開くと、temporary.txt の最初の文字のみが表示されますが、連続して表示されます (終了することはありません)。

4

1 に答える 1

-1

モードでファイルを開く必要がありbinaryます。

addressPtr = fopen("temporary.txt","wb");

"rb"また、ファイルを開くために使用してバイナリモードで書き込みます。

fopenループ内で使用している理由がわかりません。しかし、ファイルをコピーしたい場合、これは私がテストした実際のコードです:

#include<stdio.h>

int main()
{
    FILE *addressPtr;
    FILE *ressPtr;
    char filechar = '\0';

    addressPtr = fopen("D:\\test\\source.jpg","rb");
    ressPtr = fopen("D:\\test\\dest.jpg","wb");

    while(!feof(addressPtr))
    {
        filechar = fgetc(addressPtr);
        fprintf(ressPtr,"%c",filechar);
    }
    fclose(addressPtr);
    fclose(ressPtr);
    printf("The file has been successfully saved!!");

}

source.jpgこれは基本的に、 というファイルを という別のファイルにコピーしますdest.jpg

答えが得られたことを願っています。

于 2013-12-17T12:42:50.523 に答える