永发信息网

getline一次只能读入一些字符吗? c++ 问题急求解决

答案:2  悬赏:20  手机版
解决时间 2021-02-27 22:22
#include
#include
#include

using namespace std;
int main(){

ifstream ifs("a.txt");
char line[20];
ifs.getline(line,'\n');
cout< return 0;
}

a.txt文件里是这样的
wo shi zhuzhu haha

为什么最后的结果是 wo shi zh
只有这么一段?为什么?
最佳答案
getline有两种重载
getline(_CharT*, std::streamsize, _CharT)
getline(_CharT*, std::streamsize)
所以可以有两个参数或者三个参数
第二个参数是输入的最大字节数
如果要自定义结束符 第三个才是
所以 按照你的意思
getline需要写成
ifs.getline(line,sizeof(line));

或者
ifs.getline(line,sizeof(line), '\n');
全部回答
string类,比方说存了一个private char *型数据,但由于string类并没有封装“调用数据头指针”这样的函数,所以无法直接调用string类中字符串数据的char *型地址,无法将其作为参数放在getline这样的函数中。因为getline的第一个参数要求是char *型。 可以先将被get的line存在一个字符串里,再用string类的"="操作符赋给string类。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
工程设计招标项目的设计企业资质管理对工程设
听说北京有花海列车,有谁知道在哪里乘车
印度泥西亚到马来西亚相差多少距离
幼儿园《小河淡淡香》的串词
农业自然资源更新系数的定义是指_______。A.
永佳地板·木门地址有知道的么?有点事想过去
占卜他会为你付出一切吗
最近要买一些地板砖,请问什么牌子的地板砖性
广州中通快递到了吉林要多久
我想出国打工该怎么弄?费用是多少呢?
aldnoah zero第一季第一集21分23 秒播的那个b
锐志换波箱油大概费用多少
西安黄河工业公司地址在哪,我要去那里办事
阮晔 徐涛 张云天考研政治官方指南怎么样
GBA封印之剑22关怎么开门
推荐资讯
dota2里那个英雄台词说得“坑爹的疯狂”?
【免贵姓是什么意思】“您贵姓?”“免贵姓x”
机顶盒参数是什么啊!
岱中小学在哪里啊,我有事要去这个地方
【右手系】向量a、b、c组成右手系是什么意思
求黑执事所有的ova,加上马戏团篇的最后一集
无锡地铁1号线堰桥站离省锡中多长时间
宾县哈尔滨中国移动(糖坊镇中指定专营店)地址
分歧者1百度云
鱼缸里养11条鱼好还是10条好
大众烧烤地址有知道的么?有点事想过去
房间里只有一个墙壁插座 可以带动这些电器吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?