信息
- 退出循环
- ctrl+Z
- 本 质
- 全局函数
- 别 名
- istream & getline
- 中文名
- getline
- 返回值
- 与参数is是一样的
- 领 域
- 编程
GetLine简述
与参数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也是在该环境下进行的。)
[1]
这个getline是个全局函数,而不是istream/iostream的成员函数getline。getline操作返回的是is(输入流),在使用while(getline(cin,line))的时候若想退出循环应使用EOF或ctrl+Z。
-
getline
2020-03-29 14:31:44getline()的使用 getline()在读取字符串时可以读取空格,当读取到换行时,getline结束读取,并且’\n’不会被记入读取的字符串。 所以,一般地,有如下用法: int a; string b; cin>>a; getchar(); getline...getline()的使用
getline()在读取字符串时可以读取空格,当读取到换行时,getline结束读取,并且’\n’不会被记入读取的字符串。所以,一般地,有如下用法:
int a;
string b;
cin>>a;
getchar();
getline(cin,b)
或者
string a,b;
getline(cin,a);
getline(cin,b); -
getLine
2013-12-12 08:50:50getline(fin1,first,'\n'); getline(fin2,second,'\n'); while(fin1){ out; out; getline(fin1,first,'\n'); getline(fin2,second,'\n'); if(first=="@")break; } out; fin1.close(); fin2.close(); ...#include<iostream> #include<fstream> #include<cstring> using namespace std; int main() { ifstream fin1,fin2; ofstream out; fin1.open("first.txt"); fin2.open("second.txt"); out.open("result.txt"); string first,second; getline(fin1,first,'\n'); getline(fin2,second,'\n'); while(fin1){ out<<first<<endl; out<<second<<endl; getline(fin1,first,'\n'); getline(fin2,second,'\n'); if(first=="@")break; } out<<"@"<<endl; fin1.close(); fin2.close(); return 0; }
-
getline()与cin.getline()函数用法详解
2019-06-05 21:00:17getline()函数可以让我们很方便的输入一串字符串。getline()不仅简单,而且安全,因为全局函数 getline() 会帮你处理缓冲区用完之类的麻烦。常见的getline()函数语法有两条: istream &getline( char *buffer, ...getline()函数可以让我们很方便的输入一串字符串。getline()不仅简单,而且安全,因为全局函数 getline() 会帮你处理缓冲区用完之类的麻烦。常见的getline()函数语法有两条:
istream &getline( char *buffer, streamsize num, char delim ); istream &getline( char *buffer, streamsize num );
其中的buffer、num、delim的意思分别为
buffer: 进行读入操作的输入流
num 存储读入的内容
delim 终结符
功能:
将输入流num中读到的字符存入buffer中,直到遇到终结符delim才结束。对于第一个函数delim是可以由用户自己定义的终结符;对于第二个函数delim默认为 '\n'(换行符)。
函数在输入流num中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。
在遇到终结符delim后,delim会被丢弃,不存入line中。在下次读入操作时,将在delim的下个字符开始读入。
eg1:输入get?line() 输出get
#include<iostream> #include<string> using namespace std; int main(){ string line; getline(cin,line,'?'); cout<<line; return 0; }
输出结果截图:
这里输入流实际上只读入了get,?后面的line()并没有存放到line中(仍停留在输入缓冲区里)。
而且这里把终止符设为?,你输入的时候就算输入几个回车换行也没关系,输入流照样会读入。例如:
getline也可以作为成员函数使用:
cin.getline(char *cha,int num,char f);
向cha中输入num个字符,输入过程中达到num-1个数或者提前遇到f字符,输入结束。
eg2:输入hello wo?rld 输出hello wo,或者输入hello world 输出hello wor
#include<iostream> #include<string> using namespace std; int main(){ char line[100]; cin.getline(line,10,'?'); cout<<line; return 0; }
-
C++ cin.getline及getline()用法详解
2020-12-20 20:05:08下面先看下C++ cin.getline用法,具体内容如下所示: 使用 C++ 字符数组与使用 string 对象还有另一种不同的方式,就是在处理它们时必须使用不同的函数集。例如,要读取一行输入,必须使用 cin.getline 而不是 ... -
关于cin.getline与getline
2021-01-10 19:46:04#include<iostream> #include<string> #include<iomanip>...cin.getline为cin下的一个方法,用于为char类型字符串赋值; getline则为<iomanip>库下的一个函数,用于为st.#include<iostream> #include<string> #include<iomanip> using namespace std; int main() { string a; getline(cin, a,'\n'); char b[100]; cin.getline(b,100,'\n'); }
cin.getline为cin下的一个方法,用于为char类型字符串赋值;
getline则为<iomanip>库下的一个函数,用于为string类型字符串赋值,只是其可以输入流为参数。
两者均可读取空字符。
cin.getline(赋值对象,读取字符数,遇到该字符时终止赋值)
但当输入流遇到设定好的字符之后停止读取,剩余字符将会被保留在缓存中。
string a; string pix; getline(cin, a, '?');//假设输入“111?234” cin >> pix; //最终结果 a=“111”;pix=“234”;
而‘?’被省略了。
-
c++ getline
2020-05-14 23:09:281.getline用法 主要用于获取string中的一行,调用时可以设置单个的分隔符; getline在c++中有两种用法: 1)作为istream的成员函数,有两种重载形式: istream& getline (char* s, streamsize n ); istream&... -
getline 使用
2019-10-06 00:52:50getline 使用 c++ - safe reading from a stream in a for loop using getline - Stack Overflow 2 down voteThe iostreams by default do not t... -
getline函数
2020-03-04 17:03:35如果希望能在最终输入的字符串中保留输入的空格符,这时候应该用getline(cin,string)函数从给定的输入流中读取内容,至到遇到换行符为止(注意换行符也被读进来了),然后把所读内容存入那个string对象中去(注意不... -
关于getline
2019-04-08 20:36:50getline()是不会忽略换行符的 ,如果之前的缓冲区有换行,要用getchar()把换行符吃掉,再使用getline()一行一行的读取、 例如: int n,m; cin>>n>>m; getchar(); string s[105]; ... -
getline 函数
2020-10-26 21:43:09cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符...为了解决这个问题,可以使用一个叫做 getline 的 C++ 函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。 ... -
getline和cin.getline的区别
2018-08-03 18:52:47getline和cin.getline这两个函数很相似,先说getline吧, 1:getline有两个重载版本,第一个版本接受两个参数: 一个istream对象的引用(可以是istream&等); 第二个参数string对象的引用 顺便说一下,c... -
getline和cin区别;getline和cin.getline的区别【简单易懂】
2021-02-22 22:43:25getline: 按行读取, 一次读取多个字符,直到读满N个,或者遇到指定的结束符(自定义的或者EOF或者换行符,不包括空白符)为止。 形式:getline(字符指针,字符个数N,结束符); cin读取的话,遇到结束符(包括空白符)... -
getline和cin.getline
2015-05-20 15:52:25C++中有两个getline函数,这两个函数分别定义在不同的头文件中。1.getline()是定义在中的一个行数,用于输入一行string,以enter结束。函数原型:getline(cin,str); cin:istream类的输入流对象 str:待输入的string... -
getline 详解
2018-07-19 18:49:42学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”。书上给的程序如下: int main() { string line: while(getli... -
C++ getline
2017-05-15 01:56:35getline(istream &in, string &s) 从输入流读入一行到string s •功能: –从输入流中读入字符,存到string变量 –直到出现以下情况为止: •读入了文件结束标志 •读到一个新行 •达到字符串的最大长度 –如果...
收藏数
10,240
精华内容
4,096