fgets用法
阿新 • • 發佈:2019-01-03
fgets()從檔案或者流中獲取字串。
stdin是標準輸入流
示例1:
char
strBuf[1024];
fgets
(strBuf,
sizeof
(strBuf), stdin);
//處理strBuf
示例2:
FILE
* fp =
fopen
(
"some_file.txt"
,
"r"
);
if
(fp)
{
char
strBuf[1024];
fgets
(strBuf,
sizeof
(strBuf), fp);
//處理strBuf
}
fgets函式原型:char *fgets(char *str,int num,FILE *stream)
fgets從流檔案讀取至多num-1個字元,包含換行符,並把他們str志祥的字元陣列中。讀取字元直到遇到回車符或者EOF(檔案結束符)為止,或者讀入了所限定的字元數。
[例8-5] 從一個文字檔案test1.txt中讀出字串,再寫入令一個檔案test2.txt。
#i nclude<stdio.h>
#i nclude<string.h>
main( )
{
FILE *fp1,*fp2;
char str[128];
if ((fp1=fopen("test1.txt","r"))==NULL)
{ / * 以只讀方式開啟檔案1 */
printf("cannot open file/n");
exit(0);
}
if((fp2=fopen("test2.txt","w"))==NULL)
{ /*以只寫方式開啟檔案2 */
printf("cannot open file/n");
exit(0);
}
while ((strlen(fgets(str,128,fp1)))>0)
/*從檔案中讀回的字串長度大於0 */
{
fputs(str,fp2 ); /* 從檔案1讀字串並寫入檔案2 */
printf("%s",str); /*在螢幕顯示*/
}
fclose(fp1);
fclose(fp2);
}