How to provide your own delimeter for cin?
In c, I can use newline delimeter ([^n]) with scanf. Using which I can store the line. Similarly for cin, I can use getline.
If I have to store a paragraph, I can simulate the functionality using my own special char delimiter like [^#] or [^t] with scanf function in c.
char a[30];
scanf("%[^#]",a);
printf("%s",a);
How to achieve the similar functionality with cin object in cpp.
Thanks for your time.
istream.getline lets you specify a deliminator to use instead of the default 'n'
:
cin.getline (char* s, streamsize n, char delim );
or the safer and easier way is to use std::getline. With this method you don't have to worry about allocating a buffer large enough to fit your text.
string s;
getline(cin, s, 't');
EDIT:
Just as a side note since it sounds like you are just learning c++ the proper way to read multiple deliminated lines is:
string s;
while(getline(cin, s, 't')){
// Do something with the line
}
链接地址: http://www.djcxy.com/p/5390.html
上一篇: 如何在python中逐行读取大文件
下一篇: 如何为cin提供自己的分隔符?