c語言中fgets
㈠ c語言中fgets和fgetc的區別
1、fgets和fgetc都是文鎮粗件函數中的輸入函數。其中第fgets是輸入一個字元串,而fgetc則是輸入一個字困讓符。
2、例如:
#include<string.h>
#include<stdio.h>
intmain(void)
{
FILE*stream;
charstring[100],c;
stream御尺鎮=fopen("fan.txt","r+");/*打開一個文本*/
fgets(string,99,stream);/*讀取文本中第一行*/
printf("%s",string);/*在控制台顯示該行文字*/
c=fgetc(stream);//讀取文本第二行第一個字元
putchar(c);//在控制台顯示該字元
fclose(stream);//關閉文件
return0;
}
㈡ C語言里fgets函數怎麼用
fgets(由文件中讀取一字元串)
表頭文件
include<stdio.h>
定義函數
char * fgets(char * s,int size,FILE * stream);
函數說明
fgets()用來從參數stream所指的文件內讀入字元並存到參數s所指的內存空間,直到出現換行字元、讀到文件尾或是已讀了size-1個字元為止,最後會加上NULL作為字元串結束。
返回值
gets()若成功則返回s指針,返回NULL則表示有錯誤發生。
範例
#include<stdio.h>
main()
{
char s[80];
fputs(fgets(s,80,stdin),stdout);
}
執行
this is a test /*輸入*/
this is a test /*輸出*/
㈢ c語言中fgets的返回值類型
1、如果成功,該函數返回相同的 str 參數。如果到達文件末尾或者沒有讀取到任何字元,str 的內容保持不變,並返回一個空指針。如果發生錯誤,返回一個空指針。
在讀字元時遇到end-of-file,則eof指示器被設置,如果還沒讀入任何字元就遇到這種情況,則stream保持原來的內容,返回NULL;
2、如果發生讀入錯誤,error指示器被設置,返回NULL,stream的值可能被改變。
如果文件中的該行,不足n-1個字元,則讀完該行就結束。如若該行(包括最後一個換行符)的字元數超過n-1,則fgets只返回一個不完整的行,但是,緩沖區總是以NULL字元結尾,對fgets的下一次調用會繼續讀該行。
函數成功將返回stream,失敗或讀到文件結尾返回NULL。因此不能直接通過fgets的返回值來判斷函數是否是出錯而終止的,應該藉助feof函數或者ferror函數來判斷。
(3)c語言中fgets擴展閱讀
函數使用:
1、同時可以用作鍵盤輸入:fgets(key,n,stdin)且還必須:key[strlen(key)]='