第一個項目:
任務目標:將兩個文本文件中的內容合併到一個新建的文本中(使用fgetc和fputc函數)
編程環境:Windows 10 Enterprise、Visual Studio 2017 Enterprise
#pragma warning(disable:4996) //VS 編譯聲明?
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void main(void)
{
printf("Program initiating...\n");
/*################### 打開文件1和2,並建立合併文件"Output_file.txt" ###################*/
FILE *fpa, *fpb, *fpc;
char file_name_1[200], file_name_2[200]; //文件名暫存數組
printf("請輸入文件1的相對地址:");
scanf("%s", file_name_1);
printf("Openning %s\n", file_name_1); //狀態標識
if ((fpa = fopen(file_name_1, "r")) == NULL) // 打開輸出文件並使fpa指向此文件
{
printf("Open failure...\n"); // 如果打開時出錯,就輸出"打不開"的信息
exit(0); // 終止程序
}
printf("\n請輸入文件2的相對地址:");
scanf("%s", file_name_2);
printf("Openning %s\n", file_name_2); //狀態標識
if ((fpb = fopen(file_name_2, "r")) == NULL) // 打開輸出文件並使fpb指向此文件
{
printf("Open failure...\n"); // 如果打開時出錯,就輸出"打不開"的信息
exit(0); // 終止程序
}
if ((fpc = fopen("Output_file.txt", "w")) == NULL) // 打開輸出文件並使fpc指向此文件
{
printf("Open failure...\n"); // 如果打開時出錯,就輸出"打不開"的信息
exit(0); // 終止程序
}
printf("Building Output_file.txt\n"); //狀態標識
/*################### 將文件1和2的內容複製到文件Output_file中 ###################*/
char cha,chb;
while ((cha = fgetc(fpa)) != EOF)
{
fputc(cha, fpc);
}
while ((chb = fgetc(fpb)) != EOF)
{
fputc(chb, fpc);
}
/*################### 關閉文件Output_file和文件1、2 ###################*/
fclose(fpc);
fclose(fpb);
fclose(fpa);
system("pause");
}