ถามโค้ด ภาษา C ครับ

#include <stdio.h>
#include <conio.h>
#include <string.h>

void main()
{
    FILE *fp1,*fp2;
    char ch;

    fp1=fopen("E:\\data1.txt","r+t");
    fp2=fopen("E:\\data2.txt","w+t");

    if(fp1==NULL)
    {
        printf("File not found.\n");
    }
    else
    {
        do
        {
            ch = fgetc(fp1);
            fputc(ch,fp2);
        }
        while(!feof(fp1));
        
        printf("File coppy complete.");
        getch();
    }

    fclose(fp1);
    fclose(fp2);
}

/* สมมติใน data1.txt ใส่ข้อมุล abc ไว้นะครับ พอ run โปรแกรม วนรอบ do...while รับมาทีละตัวอักษร
    ช่วง  while(!feof(fp1)); จะเชคว่าขอมูลหมดรึยัง หลังจากตัวแปร ch รับตัว c ซึ่งเป็นอักษรตัวสุดท้ายแล้วมันจะ ส่งค่า -1 กลับมา
    เพื่อบอกว่าสิ้นสุดแล้วนะ แต่มันดันเอา (-1) ซึ่งเป็นตัวสี่เหลี่ยม  มาแสดงใน data2.txt ด้วยนี่สิครับ จะเขียนยังไงเอา -1 หรือตัว สี่เหลี่ยม 
   ออกดีครับ ผมลองเอา while มาเชคด้านบนก่อนแล้วก็มีค่าเหมือนเดิม

   while(!feof(fp1))
        {
            ch = fgetc(fp1);
            fputc(ch,fp2);
        }
*/

ขอคำแนะนำด้วยนะครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่