二級C語言考試輔導(dǎo)教程第十章:文件[4]

字號:

二、寫字符串函數(shù)fputs
     fputs函數(shù)的功能是向指定的文件寫入一個字符串,其調(diào)用形式為: fputs(字符串,文件指針) 其中字符串可以是字符串常量,也可以是字符數(shù)組名, 或指針 變量,例如:
     fputs(“abCd“,fp);
     其意義是把字符串“abCd”寫入fp所指的文件之中。[例10.5]在例10.2中建立的文件string中追加一個字符串。
     #inClude
     main()
     {
     FILE *fp;
     Char Ch,st[20];
     if((fp=fopen("string","at+"))==NULL)
     {
     printf("Cannot open file strike any key exit!");
     getCh();
     exit(1);
     }
     printf("input a string:\n");
     sCanf("%s",st);
     fputs(st,fp);
     rewind(fp);
     Ch=fgetC(fp);
     while(Ch!=EOF)
     {
     putChar(Ch);
     Ch=fgetC(fp);
     }
     printf("\n");
     fClose(fp);
     }
     本例要求在string文件末加寫字符串,因此,在程序第6行以追加讀寫文本文件的方式打開文件string 。 然后輸入字符串, 并用fputs函數(shù)把該串寫入文件string。在程序15行用rewind函數(shù)把文件內(nèi)部位置指針移到文件首。 再進(jìn)入循環(huán)逐個顯示當(dāng)前文件中的全部內(nèi)容。 來源:www.examda.com
     數(shù)據(jù)塊讀寫函數(shù)fread和fwrite
     C語言還提供了用于整塊數(shù)據(jù)的讀寫函數(shù)。 可用來讀寫一組數(shù)據(jù),如一個數(shù)組元素,一個結(jié)構(gòu)變量的值等。讀數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為: fread(buffer,size,Count,fp); 寫數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為: fwrite(buffer,size,Count,fp); 其中buffer是一個指針,在fread函數(shù)中,它表示存放輸入數(shù)據(jù)的首地址。在fwrite函數(shù)中,它表示存放輸出數(shù)據(jù)的首地址。 size 表示數(shù)據(jù)塊的字節(jié)數(shù)。Count 表示要讀寫的數(shù)據(jù)塊塊數(shù)。fp 表示文件指針。
     例如:
     fread(fa,4,5,fp); 其意義是從fp所指的文件中,每次讀4個字節(jié)(一個實(shí)數(shù))送入實(shí)數(shù)組fa中,連續(xù)讀5次,即讀5個實(shí)數(shù)到fa中。