fgets()函数怎样用C++实现?

#defineBUFLEN256staticcharlineBuf[BUFLEN];fgets(lineBuf,BUFLEN-1,source)上面的这个函数用C++如何... #define BUFLEN 256
static char lineBuf[BUFLEN];
fgets(lineBuf,BUFLEN-1,source)
上面的这个函数用C++如何实现,就是从source文件读取指定长度字符串,直接source>>lineBuf应该是不行吧。
展开
 我来答
canoestream
2009-07-23 · 超过13用户采纳过TA的回答
知道答主
回答量:27
采纳率:100%
帮助的人:19.3万
展开全部
#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';
天蝎神经侠侣
高粉答主

2015-07-11 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:716万
展开全部
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 );
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2009-07-23 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
用read函数啊.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式