1. getline
getline不是C库函数,而是C++库函数。它遇到以下情况发生会导致生成的本字符串结束:
(1) 到文件结束
(2)遇到函数的定界符
(3)输入达到最大限度
getline()函数的原型是
istream& getline ( istream & is , string & str , char delim );
用法:
int main()
{
string line;
cout << "Please input a line: " << endl;
while (getline(cin, line,'#'))
cout << line << endl;
return 0;
}
然后,那么当我们输入You are wonderful!#Mr. Ling 时,但是,有效的输入是 You are wonderful,#后面的内容并没有存入。程序运行的结果如下:
//输入:
You are wondreful!#LingKing
//输出:
You are wonderful!
在这里设置‘#’为终止符时,当再输入’\n’时也不会影响。
在#之前的内容都会照样输出。例如:
//含有’\n’的输入
Hello world!
You are wonderful!
Mr. Ling#wonderful!
//输出:
Hello world!
You are wonderful!
Mr. Ling
2.截取子串
s.substr(pos, n) :截取s中从pos开始(包括0)的n个字符的子串,并返回
s.substr(pos) : 截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回
3.替换子串
s.replace(pos, n, s1) : 用s1替换s中从pos开始(包括0)的n个字符的子串
4. 查找子串
s.find(s1) :查找s中第一次出现s1的位置,并返回(包括0)
s.rfind(s1) : 查找s中最后次出现s1的位置,并返回(包括0)
s.find_first_of(s1) : 查找在s1中任意一个字符在s中第一次出现的位置,并 返回(包括0)
s.find_last_of(s1) : 查找在s1中任意一个字符在s中最后一次出现的位置,并返回(包括0)
s.fin_first_not_of(s1) : 查找s中第一个不属于s1中的字符的位置,并返回(包括0)
s.fin_last_not_of(s1) : 查找s中最后一个不属于s1中的字符的位置,并返回(包括0)
C++和C中字符串中字母转换大小写的方法:
//截取自别人博客,忘记是谁的了,自闭…
转载:https://blog.csdn.net/unique_ZRF/article/details/100904761