zoukankan      html  css  js  c++  java
  • C++ string基本操作

    初始化
    //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 迭代器只可读,不可写
  • 相关阅读:
    win8.1下安装双系统ubuntu14.04.3
    如何使用cmd
    My Test about Mat
    访问Mat矩阵中的元素并为其赋值
    Mat代码操作
    waitKey()
    ASCII码对照表
    vector 中的clear()
    vector 介绍
    Mat的详解
  • 原文地址:https://www.cnblogs.com/sgawscd/p/12228865.html
Copyright © 2011-2022 走看看