C++ getline函数的用法

网上查到的好多都看不明白。我想知道这个函数可以按行读取文件吗?如果可以具体的用法是什么?后面的参数都有什么?如果不行,那有什么函数可以按行读取文件内容吗??... 网上查到的好多都看不明白。
我想知道这个函数可以按行读取文件吗?
如果可以具体的用法是什么?后面的参数都有什么?
如果不行,那有什么函数可以按行读取文件内容吗??
展开
 我来答
世嘉NEMTWGN
推荐于2016-10-26 · 超过63用户采纳过TA的回答
知道答主
回答量:156
采纳率:50%
帮助的人:63.1万
展开全部
应该是因为标准输入每次回车都向程序输入数据的原因。
标准输入是以回车为单位向程序输入数据,也就是说当ni hao回车后,程序得到了如下输入
”ni hao\n",这个串被第一个getline读取后,因为正常读到了分隔符,认为输入数据并没有结束,第二个getline再次读取时,发现标准输入数据中没有内容,返回空串,同时标记输入数据结束。
这个问题只会发生在标准输入上,读文件没有这个问题,读文件时第二个getline会读到第二行数据。
追问

看我这个用法,a是文件流名称,str是个C-串,但是提示有错误,不符合函数定义,但是我又看不懂函数定义。。。我把str改成字符数组形式还是不行,求解错在哪里

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sky大哥369
2019-03-21 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:971万
展开全部
你没给s分配空间也没初始化,s就是个野指针。
char*
s
=
new
char[1001];
memset(s,
0,
1001);
cout<<"请输入字符串,以‘\n‘结束:\n";
cin.getline(s,1000,'\n');cin.getline(s,1000,'\n');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式