นี่คือโปรแกรม C สำหรับรวมเนื้อหาของสองไฟล์เข้าด้วยกันเป็นไฟล์ที่สาม
ตัวอย่าง
ข้อมูลนำเข้า (Input)
java.txt มีเนื้อหาเริ่มต้น "Java is a programing language." kotlin.txt มีเนื้อหาเริ่มต้น " kotlin is a programing language." ttpoint.txt เริ่มต้นว่างเปล่า
ผลลัพธ์ (Output)
files are merged ttpoint.txt จะมีเนื้อหาสุดท้ายเป็น "Java is a programing language. kotlin is a programing language."
อัลกอริทึม
เริ่มต้น ประกาศอาร์เรย์ a[] ชนิด character กำหนด a[] = "Java is a programing language." ประกาศ i เป็น integer กำหนด i = 0 ประกาศ f1 เป็น pointer ชนิด FILE เปิดไฟล์ "java.txt" เพื่อเขียนข้อมูลด้วย f1 while (a[i] != '\0') เรียก fputc(a[i], f1) ใส่ข้อมูล a[] ลง f1, i++ ปิด f1 file pointer ประกาศอาร์เรย์ b[] ชนิด character กำหนด b[] = " kotlin is a programing language." ประกาศ j เป็น integer กำหนด j = 0 ประกาศ f2 เป็น pointer ชนิด FILE เปิดไฟล์ "kotlin.txt" เพื่อเขียนข้อมูลด้วย f2 while (b[j] != '\0') เรียก fputc(b[j], f2) ใส่ข้อมูล b[] ลง f2, j++ ปิด f2 file pointer เปิดไฟล์ "java.txt" เพื่ออ่านข้อมูลด้วย f1 เปิดไฟล์ "ttpoint.txt" เพื่อเขียนข้อมูลด้วย f2 ประกาศ f3 เป็น pointer ชนิด FILE เปิดไฟล์ "ttpoint.txt" เพื่อเขียนข้อมูลด้วย f3 ประกาศตัวแปร "c" ชนิด character if (f1 == NULL || f2 == NULL || f3 == NULL) แสดง "couldn't open the file." ออกจากโปรแกรม While ((c = fgetc(f1)) != EOF) ใส่ข้อมูล c ลง f3 ด้วย fputc() while ((c = fgetc(f2)) != EOF) ใส่ข้อมูล c ลง f3 ด้วย fputc() เรียก fclose(f3) ปิด file pointer เปิดไฟล์ ttpoint.txt ด้วย f3 แสดง "Merged java.txt and python.txt into ttpoint.txt" while (!feof(f3)) เรียก putchar(fgetc(f3)) แสดงเนื้อหาของ f3 ปิด f1, f2, f3 file pointer สิ้นสุด
ตัวอย่างโค้ด
#include <stdio.h>
#include <stdlib.h>
int main() {
char a[] = "Java is a programing language.";
int i = 0;
FILE *f1;
f1 = fopen("java.txt", "w");
while (a[i] != '\0') {
fputc(a[i], f1);
i++;
}
fclose(f1);
char b[] = "kotlin is a programing language.";
int j = 0;
FILE *f2;
f2 = fopen("kotlin.txt", "w");
while (b[j] != '\0') {
fputc(b[j], f2);
j++;
}
fclose(f2);
f1 = fopen("java.txt", "r");
f2 = fopen("kotlin.txt", "r");
FILE *f3 = fopen("ttpoint.txt", "w"); // เปิดไฟล์เก็บผลลัพธ์
char c;
if (f1 == NULL || f2 == NULL || f3 == NULL) {
puts("Could not open files");
exit(0);
}
while ((c = fgetc(f1)) != EOF) // คัดลอกไฟล์แรกไป ttpoint.txt
fputc(c, f3);
while ((c = fgetc(f2)) != EOF) // คัดลอกไฟล์ที่สองไป ttpoint.txt
fputc(c, f3);
fclose(f3);
f3 = fopen("ttpoint.txt", "r");
printf("Merged java.txt and kotlin.txt into ttpoint.txt\n");
while (!feof(f3))
putchar(fgetc(f3));
fclose(f1);
fclose(f2);
fclose(f3);
return 0;
}
ผลลัพธ์
Merged java.txt and kotlin.txt into ttpoint.txt Java is a programing language.kotlin is a programing language.