C語言實現檔案讀寫操作
阿新 • • 發佈:2020-12-29
本文例項為大家分享了C語言實現檔案讀寫操作的具體程式碼,供大家參考,具體內容如下
鍵盤讀入字串寫到檔案中,再從檔案讀出顯示在控制檯
#include<stdio.h> #include<string.h> int main() { FILE *fp; char string[6];//方括號中是幾就輸入幾個字串 if( (fp=fopen("file.txt","w"))==NULL ) { printf("cannot open file"); return 0; } while(strlen(gets(string)) > 0) { fputs(string,fp); fputs("\n",fp); } fclose(fp); if( (fp=fopen("file.txt","r"))==NULL) { printf("cannot open file\n"); return 0; } while(fgets(string,6,fp)!=NULL) { fputs(string,stdout);//系統自動開啟stdout檔案 } fclose(fp); }
合併兩個檔案的內容,並輸出到第三個檔案
#include<stdio.h> #include<string.h> int main() { FILE *fp1,*fp2,*fp3; char str1[10],str2[10]; printf("輸入兩串字母\n"); scanf("%s",str1); scanf("%s",str2); //A,B兩個檔案賦值 if((fp1=fopen("A.txt","w"))==NULL) { printf("cannot open file\n"); return 0; } fputs(str1,fp1); fclose(fp1); if((fp2=fopen("B.txt","w"))==NULL) { printf("cannot open file\n"); return 0; } fputs(str2,fp2); fclose(fp2); //拷貝到第三個檔案 if((fp1=fopen("A.txt","r"))==NULL) { printf("cannot open file\n"); return 0; } if((fp2=fopen("B.txt","r"))==NULL) { printf("cannot open file\n"); return 0; } if((fp3=fopen("C.txt","a"))==NULL) { printf("cannot open file\n"); return 0; } while(!feof(fp1)) { fputc(fgetc(fp1),fp3); } while(!feof(fp2)) { fputc(fgetc(fp2),fp3); } fclose(fp1); fclose(fp2); fclose(fp3); }
輸入學生資訊並轉存到磁碟檔案
#include<stdio.h> #define SIZE 4 struct student_type { char name[10]; int num; int age; char addr[15]; }; struct student_type stud[SIZE]; void save(); void display(); void main() { int i; for(i=0;i<SIZE;i++) { scanf("%s %d %d %s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr); } save();//轉存 display(); } void save() { FILE *fp; int i; if((fp=fopen("E:\\計算機導論作業\\加密文件","wb"))==NULL) { printf("cannot open file\n"); return; } for(i=0;i<SIZE;i++) { if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) printf("file write error\n"); } fclose(fp); } void display() { FILE *fp; int i; if((fp=fopen("E:\\計算機導論作業\\加密文件","rb"))==NULL) { printf("cannot open file\n"); return; } for(i=0;i<SIZE;i++) { fread(&stud[i],fp); printf("%-10s %4d %4d %-15s\n",stud[i].num,stud[i].age,stud[i].addr); } fclose(fp); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。