天天看點

C語言教程第十章:檔案(5)

一、讀字元串函數fgets函數的結局是從指定的檔案中讀一個字元串到字元數組中,函數挪用的體式技倆為:fgets(字元數組名,n,檔案指針);其中的n是一個正整數。表示從檔案中讀出的字元串不趕過n-1

一、讀字元串函數fgets函數的結局是從指定的檔案中讀一個字元串到字元數組中,函數挪用的體式技倆為: fgets(字元數組名,n,檔案指針); 其中的n是一個正整數。表示從檔案中讀出的字元串不趕過 n-1個字元。在讀入的最後一個字元後加上串終了辨別表記标幟'\0'。例如:fgets(str,n,fp);的意義是從fp所指的檔案中讀出n-1個字元送入字元數組str中。

[例10.4]從e10_1.c檔案中讀入一個含10個字元的字元串。

#include<stdio.h>

main()

{

FILE *fp;

char str[11];

if((fp=fopen("e10_1.c","rt"))==NULL)

printf("Cannot open file strike any key exit!");

getch();

exit(1);

}

fgets(str,11,fp);

printf("%s",str);

fclose(fp);

  本例定義了一個字元數組str共11個位元組,在以讀文本檔案體例翻開檔案e101.c後,從中讀出10個字元送入str數組,在數組最後一個機關内把加上'\0',然後在螢幕上顯示輸出str數組。輸出的十個字元正是例10.1法度圭臬标準規範的前十個字元。

  對fgets函數有兩點申明:

1. 在讀出n-1個字元之前,如遇到了換行符或EOF,則讀出終了。

2. fgets函數也有前往值,其前往值是字元數組的首所在。

二、寫字元串函數fputs

fputs函數的結局是向指定的檔案寫入一個字元串,其挪用體式技倆為: fputs(字元串,檔案指針) 其中字元串可以是字元串常量,也可以是字元數組名, 或指針 變量,例如:

fputs(“abcd“,fp);

其意義是把字元串“abcd”寫入fp所指的檔案之中。[例10.5]在例10.2中建立的檔案string中追加一個字元串。

char ch,st[20];

if((fp=fopen("string","at "))==NULL)

printf("input a string:\n");

scanf("%s",st);

fputs(st,fp);

rewind(fp);

ch=fgetc(fp);

while(ch!=EOF)

putchar(ch);

printf("\n");

  本例要求在string檔案末加寫字元串,是以,在法度圭臬标準規範第6行以追加讀寫文本檔案的體例翻開檔案string 。 然後輸出字元串, 并用fputs函數把該串寫入檔案string。在法度圭臬标準規範15行用rewind函數把檔案外部職位中央指針移到檔案首。 再進入循環逐一顯示目前檔案中的統統内容。

版權聲明:

原創作品,容許轉載,轉載時請務必以超連結體式技倆标明文章 原始來由 、作者資訊和本聲明。否則将追究司法責任。