在c語言程序設計中如何讀取xml文件?
在C語言中,文件操作都是由庫函數來完成的。要讀取一個txt文件,首先要使用文件打開函數fopen()。fopen函數用來打開一個文件,其調用的一般形式為: 文件指針名=fopen(文件名,使用文件方式) 其中,“文件指針名”必須是被說明為FILE 類型的指針變量,“文件名”是被打開文件的文件名。 “使用文件方式”是指文件的類型和操作要求。“文件名”是字符串常量或字符串數組。其次,使用文件讀寫函數讀取文件。在C語言中提供了多種文件讀寫的函數:
·字符讀寫函數 :fgetc和fputc·字符串讀寫函數:fgets和fputs·數據塊讀寫函數:freed和fwrite·格式化讀寫函數:fscanf和fprinf最后,在文件讀取結束要使用文件關閉函數fclose()關閉文件。下面以格式化讀寫函數fscanf和fprintf為例,實現對文件A.txt(各項信息以空格分割)的讀取,并將它的信息以新的格式(用制表符分割各項信息)寫入B.txt,實現對A.txt的處理。C語言源程序如下所示:
#include #include #include typedef struct student{ char name[32]; int no; char sex[16]; float score;} stu;int main(int argc, char* argv[]){ //打開文件 FILE * r=fopen("A.txt","r"); assert(r!=NULL); FILE * w=fopen("B.txt","w"); assert(w!=NULL)
; //讀寫文件 stu a[128]; int i=0; while(fscanf(r,"%s%d%s%f",a[i].name,&a[i].no,a[i].sex,&a[i].score)!=EOF) { printf("%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//輸出到顯示器屏幕 fprintf(w,"%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score)
;//輸出到文件B.txt i++; } //關閉文件 fclose(r); fclose(w); system("pause"); return 0;}