ปัญหา
วิธีอ่านชุดรายการที่มีอยู่ในไฟล์และแสดงข้อมูลเป็นคอลัมน์หรือแบบตารางโดยใช้การเขียนโปรแกรม C
วิธีแก้ปัญหา
สร้างไฟล์ในโหมดเขียนและเขียนข้อมูลบางชุดลงในไฟล์แล้วปิดอีกครั้ง เปิดและแสดงชุดข้อมูลในคอลัมน์บนคอนโซล
โหมดเขียนในการเปิดไฟล์
FILE *fp; fp =fopen ("sample.txt", "w");
-
หากไม่มีไฟล์อยู่ ระบบจะสร้างไฟล์ใหม่
-
หากมีไฟล์อยู่ เนื้อหาเก่าจะถูกลบและเนื้อหาปัจจุบันจะถูกจัดเก็บ
อ่านโหมดการเปิดไฟล์
FILE *fp fp =fopen ("sample.txt", "r");
-
หากไม่มีไฟล์ ฟังก์ชัน fopen จะคืนค่า NULL
-
หากมีไฟล์อยู่ ข้อมูลจากไฟล์จะถูกอ่านสำเร็จ
ตรรกะที่ใช้แสดงข้อมูลบนคอนโซลในรูปแบบตารางคือ −
while ((ch=getc(fp))!=EOF){ if(ch == ',') printf("\t\t"); else printf("%c",ch); }
โปรแกรม
#include <stdio.h> #include<ctype.h> #include<stdlib.h> int main(){ char ch; FILE *fp; fp=fopen("std1.txt","w"); printf("enter the text.press cntrl Z:\n"); while((ch = getchar())!=EOF){ putc(ch,fp); } fclose(fp); fp=fopen("std1.txt","r"); printf("text on the file:\n"); while ((ch=getc(fp))!=EOF){ if(ch == ',') printf("\t\t"); else printf("%c",ch); } fclose(fp); return 0; }
ผลลัพธ์
enter the text.press cntrl Z: Name,Item,Price Bhanu,1,23.4 Priya,2,45.6 ^Z text on the file: Name Item Price Bhanu 1 23.4 Priya 2 45.6