码迷,mamicode.com
首页 > 编程语言 > 详细

C++ string基本操作

时间:2020-01-22 18:20:24      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:world   lov   读写   更改   输入   初始化   c语言   字符   class   

初始化
//string 类型的初始化方法
string s1;
string s2 = s1;
string s3 = "lol";
string s4("JarvenIV");
string s5(7,'7');   //连续n个字符组成的串
读写
string s;
cin>>s;
cout<<s;
范围for语句
//c++范围for语句,处理字符串中的每个字符
//将字符串中的每个小写字母转换为大写字母
string str("I can fly high!");
for(auto &c : str)                 //使用引用以更改字符的值
    c = toupper(c);
cout<<str<<endl;
//统计字符串中的数字个数
string s("clear4396love");
decltype(s.size()) digit_count = 0;//decltype函数返回s.size()的类型
for(auto c : s)
    if(isdigit(c))                 //该字符是数字
        ++digit_count;
cout<<digit_count;
迭代器操作
//string::const_iterator 为指向常量的迭代器类型 
//string::iterator       为迭代器类型
string s("HelloWorld!");
//使用begin(),end()方法修改
for(auto i = s.begin();i != s.end();++i)
    cin >> *i;
//使用cbegin(),cend()方法遍历
for(auto i = s.cbegin();i != s.cend();++i)
    cout << *i << endl;
//使用迭代器类型变量
string::const_iterator citb = s.cbegin();
string::const_iterator cite = s.cend();
string::iterator itb = s.begin();
//修改
for(auto i = itb;i != cite;++i)
    cin >> *i;
//遍历
for(auto i = citb;i != cite;++i)
    cout << *i << endl;
部分操作
方法 功能
cout<<s 输出s
cin>>s 输入s
getline(cin,s) 从输入流中读取一行赋给s
s.empty() s为空则返回true
s.size() 返回s中字符的个数
s[n] 类似c语言数组用法
s1+s2 两个字符串连接的结果
s1=s2 将s2的值赋给s1
s1 == s2 两个字符串完全一样
s.begin() 返回指向第一个元素的迭代器
s.end() 返回指向尾元素的下一个位置的迭代器
s.cbegin() 指向常量的第一个元素迭代器
s.cend() 指向常量的尾后迭代器
string::iterator 迭代器可以读写string内容
string::const_iterator 迭代器只可读,不可写

C++ string基本操作

标签:world   lov   读写   更改   输入   初始化   c语言   字符   class   

原文地址:https://www.cnblogs.com/sgawscd/p/12228865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!