亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

fgets()函數怎樣用C++實現?

fgets()函數怎樣用C++實現?

SSM
慕村9548890 2019-02-19 10:15:39
#define BUFLEN 256static char lineBuf[BUFLEN];fgets(lineBuf,BUFLEN-1,source)上面的這個函數用C++如何實現,就是從source文件讀取指定長度字符串,直接source>>lineBuf應該是不行吧。
查看完整描述

2 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

#include <fstream>
#define BUFLEN 256
static char lineBuf[BUFLEN];

ifstream file_in("source 文件的位置",ios::in);
file_in.getline(lineBuf,BUFLEN,'\n');
這個函數意思是讀入BUFLEN個字節到lineBuf,如果在讀入BUFLEN個字節之前,遇上了換行符(這個換行符可以換成你想中止讀入的字符,如變成‘A’,則在讀入 A之前會中止,默認情況是‘\n';

查看完整回答
反對 回復 2019-03-26
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

fgets 既可以讀文件,又可以讀標準輸入,而且可以防止溢出。但是它只能輸入字符串(且能讀到回車符/n),故而用scanf語句的較多。scanf語句可以輸入各種格式的數據,其功能較為強大。

fgets 的使用方法:char *fgets(char *string, int n, FILE *stream)
從文件stream中讀取n-1個字符/一行(若一行不滿n-1個),string接收字符串
如果n <= 0,返回NULL
如果n == 1,返回" ",也就是一個空串
如果成功,返回值等于string, 也就是獲得字符串的首地址
如果出錯,或者讀到FILE的結尾,返回NULL

//通過while循環一行行取,讀到文件末尾就是NULL了 ----讀取整個文件
#include <stdio.h>

void main( void )
{
FILE *stream;
char line[100];

if( (stream = fopen( "file.txt", "r" )) != NULL )
{
while( fgets( line, 100, stream ) != NULL)
printf( "%s", line);
fclose( stream );
}
}



查看完整回答
反對 回復 2019-03-26
  • 2 回答
  • 0 關注
  • 871 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號