在c中,我可以在scanf中使用换行符分隔符([^ \ n])。使用我可以存储的线。同样对于cin,我可以使用getline。
如果我必须存储段落,我可以使用我自己的特殊字符分隔符来模拟功能,如[^#]或[^ \ t],其中包含scanf函数。
char a[30];
scanf("%[^\#]",a);
printf("%s",a);
如何在cpp。
中实现与cin对象类似的功能答案 0 :(得分:14)
istream.getline允许您指定要使用的分隔符,而不是默认的'\n'
:
cin.getline (char* s, streamsize n, char delim );
或更安全,更简单的方法是使用std::getline。使用此方法,您不必担心分配足够大的缓冲区以适合您的文本。
string s;
getline(cin, s, '\t');
编辑:
就像旁注一样,因为听起来你只是在学习c ++,阅读多个被删除的行的正确方法是:
string s;
while(getline(cin, s, '\t')){
// Do something with the line
}