#define BUFLEN 256static char lineBuf[BUFLEN];fgets(lineBuf,BUFLEN-1,source)上面的这个函数用C++如何实现,就是从source文件读取指定长度字符串,直接source>>lineBuf应该是不行吧。
2 回答
繁华开满天机
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 );
}
}
- 2 回答
- 0 关注
- 769 浏览
添加回答
举报
0/150
提交
取消