當前位置:首頁 » 編程語言 » c語言fgets函數用法

c語言fgets函數用法

發布時間: 2023-06-19 18:57:15

c語言文件操作中fgets函數的使用

#include<stdio.h>
#include<string.h>

//#pragmawarning(disable:4996)
constintMAXLEN=1000;

intmain(){
chars[MAXLEN];//={0};
//memset(s,0,sizeof(s));//s要被多次使用的
FILE*p=fopen("E:\輸入信息得文本.txt","w");
if(p==NULL){
printf("不能打開文件。 ");
return1;
}
while(1){
//gets(s);
fgets(s,MAXLEN,stdin);
//fgtes()函數讀取的串中通常含有' '
intlen=strlen(s);
if(s[len-1]==' ')s[len-1]='';
if(strcmp(s,"exit")==0)break;
fprintf(p,"%s ",s);
}
fclose(p);
printf("end ");
return0;
}

② c語言中fgets操作方法,求一簡單程序示範

fgets為stdin.h頭文件中聲明的,從文件中讀取字元串的函數。

原型:

char*fgets(char*buf,intbufsize,FILE*stream);

參數:

buf: 指向用來存儲字元串的內存位置。

bufsize:讀取數據的大小。

stream: 將要讀取的文件流。

fgets最多從文件中讀取bufsize-1個字元,若讀取的行不足bufsize-1個字元,則讀取完這行後就結束;若讀取的行超過bufsize-1個字元,則只讀取bufsize-1個字元,下次調用fgets時,將從此行未讀取完的位置繼續讀取。


示例:

#include<stdio.h>

intmain()
{
chars[60];
FILE*fin=fopen("a.txt","r");

fgets(s,60,fin);
puts(s);
fclose(fin);

return0;
}

③ 關於C語言fgets()讀取文件

1、fgets函數:
原型:char
*
fgets(char
*
buf,
int
bufsize,
file
*
stream);
功能:從文件結構體指針stream中讀取數據,每次讀取一行;
說明:讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦值為\0)。如果該行不足bufsize個字元,則讀完該行就結束,如果該行超過bufsize-1個字元,則fgets只返回一個不完整的行,buf緩沖區以\0字元結束,下一次fgets調用會繼續讀取該行剩餘的字元;
頭文件:stdio.h;
返回值:若讀入成功,返回與參數buf相同的字元指針,若讀入過程中遇到eof或發生錯誤,返回null指針。所以當遇到返回值為null的情況時,應使用ferror或feof函數檢查是發生錯誤還是遇到eof。
2、常式:
#include
int a;
char b,c[100];
int main(){
file * fp1 = fopen("input.txt", "r");//打開輸入文件
file * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==null || fp2==null) {//若打開文件失敗則退出
puts("不能打開文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串
printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數
fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return 0;
}

④ c語言中的fgets函數。

fgets()函數用於從文件流中讀取一行或指定個數的字元,其原型為:
char
*
fgets(char
*
string,
int
size,
FILE
*
stream);
參數說明:
string為一個字元數組,用來保存讀取到的字元。
size為要讀取的字元的個數。如果該行字元數大於size-1,則讀到
size-1
個字元時結束,並在最後補充'
\0';如果該行字元數小於等於
size-1,則讀取所有字元,並在最後補充
'\0'。即,每次最多讀取
size-1
個字元。
stream為文件流指針。
【返回值】讀取成功,返回讀取到的字元串,即string;失敗或讀到文件結尾返回NULL。因此我們不能直接通過fgets()的返回值來判斷函數是否是出錯而終止的,應該藉助feof()函數或者ferror()函數來判斷。
注意:fgets()與gets()不一樣,不僅僅是因為gets()函數只有一個參數
FILE
*stream,更重要的是,fgets()可以指定最大讀取的字元串的個數,杜絕了gets()使用不當造成緩存溢出的問題。

熱點內容
stl源碼剖析筆記 發布:2025-02-12 05:01:51 瀏覽:588
教務系統web伺服器搭建 發布:2025-02-12 05:01:17 瀏覽:96
全國dns伺服器地址大全 發布:2025-02-12 05:01:13 瀏覽:682
安卓什麼軟體能拍到月亮 發布:2025-02-12 04:59:42 瀏覽:781
手機卡忘記服務密碼怎麼辦 發布:2025-02-12 04:59:10 瀏覽:373
如何讓助理伺服器可以被遠程 發布:2025-02-12 04:47:11 瀏覽:769
存儲空間不足但 發布:2025-02-12 04:46:27 瀏覽:277
樹莓派編程板 發布:2025-02-12 04:41:45 瀏覽:908
php取整 發布:2025-02-12 04:33:21 瀏覽:227
我的世界創造伺服器位置 發布:2025-02-12 04:24:49 瀏覽:707