ปัญหา
วิธีอ่านชุดรายการที่มีอยู่ในไฟล์และแสดงข้อมูลเป็นคอลัมน์หรือแบบตารางโดยใช้การเขียนโปรแกรม 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