字符与字符串操作归纳[持续更新]

Posted hao11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符与字符串操作归纳[持续更新]相关的知识,希望对你有一定的参考价值。

最近刷了一些题,很多喜欢考字符串转换之类的,自己平时容易忘记,做题时也去翻了很多次,故归纳下来,加深印象。

  • 字符操作

    我们经常要处理string对象中的字符,比如检查一个string是否包含空白,大小写转换,首字母大写,归纳一些字符处理的操作。

    再cctype的头文件中定义了一组标准库函数处理这部分工作。主要是简化代码,改善易读性。

      isalnum(c)      当c是字母或数字时为真

      isalpha(c)       当c是字母时为真

      isdigit(c)         当c是是数字时为真

      islower(c)       当c是小写字母时为真

      issupper(c)       当c是大写字母时为真

      isspace(c)      当c是空格时为真

      ispunct(c)       当c是标点符号时为真(c不是数字,字母,控制字符,可打印空白中的一种)

      isgraph(c)       当c是不是空格但可打印的字符时为真

      isprint(c)       当c是可打印字符时为真(即c是空格或c具有可视形式)

      isxdigit(c)         当c是16进制时为真

      tolower(c)        当c是大写字母,输出对应的小写字母,否则原样输出c 

      toupper(c)       当c是小写字母,输出对应的大写字母,否则原样输出c

  •  string对象

    初始化方式

string s1
string s2(s1)
string s2 = s1
string s3("value")         //直接初始化
string s3 = "value"       //拷贝
string s4(n, c)            //初始化为n个c    
//n,len2和pos都是无符号值
string s(cp, n)            //s是cp指向数组中前n个字符的拷贝。此数组至少包含n个字符

string s(s2, pos2)
 //s是string s2从pos位置开始的字符的拷贝,若pos2>s2.size(),构造函数的行为未定

string s(s2, pos2, len2)  //pos2开始n个字符的拷贝

 

 

    介绍string对象的操作之前,先介绍下标准IO库对string的特别支持。

    string流

    sstream头文件定义了三个类型来支持内存IO。 关系如下

    stringstream继承包括istringstream和ostringstream,  sstream继承包括iostream和stringstream

    例如从控制台读入一行 int数据 (1 2 3 4 5 6):

#include<iostream>
#include<sstream>
#include<string>
using namespace std;

vector<int> readNumLine()
{
    string strLine;
    vector<int> vctNums = {};
    if(getline(cin, strLine))
    {
        vctNums = {};
        int nNum;
        istringstream iss(strLine);
        while(iss>>nNum)
            vctNums.push_back(nNum);
    }
}

 

    ostringstream与 cout 类似。

  • string对象的操作

 

    首先是重载的运算符 << 、>>、 []、=、==、!=、+、<、<=、>、>=。

 

getline(is, s)        //从is中读入一行赋给s 返回is
s.empty()
s.size()

 

     string子字符串操作

s.substr(pos, n)        
//返回一个string,包含s中从pos开始的n个字符的拷贝,pos默认为0.n默认为 s.size() - pos,即pos开始的所有字符

 

    string搜索操作  

    未完待续。。。

 

 

       

       

以上是关于字符与字符串操作归纳[持续更新]的主要内容,如果未能解决你的问题,请参考以下文章

关于String字符串的常用操作。(持续更新中)

小程序各种功能代码片段整理---持续更新

嵌入式面试总结(持续更新)

shell 常用文件字符串二元整数测试操作符-持续更新中

[PYTHON][BAT][SHELL] 常见易忘 pythonbatshell 脚本操作汇总(持续更新)

2022年Java面试题整理归纳(持续更新)