与参数is是一样的
将输入流is中读到的字符存入str中,直到遇到终结符delim才结束。对于第一个函数delim是可以由用户自己定义的终结符;对于第二个函数delim默认为 'n'(换行符)。
函数在输入流is中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。
在遇到终结符delim后,delim会被丢弃,不存入str中。在下次读入操作时,将在delim的下个字符开始读入。
举例:
输入为:aa#b
输出为:aa b
再举例:
操作1:
这里输入流实际上只读入了Nice to meet you!,#后面的Hello!并没有存放到line中(仍停留在输入缓冲区里)。
而且这里把终止符设为#,你输入的时候就算输入几个回车换行也没关系,输入流照样会读入,譬如:
操作2:
这里,输入中的换行照样被读入到输入流中并且输出了。
(“再举例”部分的源代码在visual studio 中编译通过,操作1、2也是在该环境下进行的。)
这个getline是个全局函数,而不是istream/iostream的成员函数getline。
getline操作返回的是is(输入流),在使用while(getline(cin,line))的时候若想退出循环应使用EOF或ctrl+Z。
getline也可以作为成员函数使用
cin.getline(char* cha,int num,char f);
向cha中输入num个字符,输入过程中达到num个数或者提前遇到f字符,输入结束。
1、本网站为开放性注册平台,以上所有展示信息均由会员自行提供,内容的真实性、准确性和合法性均由发布会员负责,本网站对此不承担任何法律责任。
2、网站信息如涉嫌违反相关法律规定或侵权,请发邮件至599385753@qq.com删除。