计算字符串最后一个单词的长度

string常用函数

// #include<string>
// string.find("ab",2)//2到以后,没有乱码
// string.rfind("ab",2)//0~2,
// string.substr(3)//str[3]及以后子串
// string.substr(3,2)//str[3]开始,2个字符组成
// string.replace(a,b,“”)//str[a]开始,b个字符
// string.insert(a,"")//
// string.append("")//向后添加
// swap(str1,str2)
// str1.compare(str2)//a A 1 a a 0 a b -1
// str.size()
// str.length()

计算某字符出现次数

使用unordered_map或者map;不存在的<key,value>会插入。区别在于map会按照key值排序,而unordered_map不会。

map<char,int> ma;
    char c;
    while((c = getchar()) != '\n'){
        ma[tolower(c)]++;
    }

输入字符串常用方法

string s; 
//字符串按空格隔开
cin>>s;
//输入一整行字符串,按照';'隔开
getline(cin,s);
getline(cin, s, ';')
//一个字符一个字符读入
(c=getchar()) != '\n';

字符串分隔

请按长度为8拆分每个输入字符串并进行输出; 使用string.substr()截取。字符串长度不为8的倍数,补足8 - 余数个零。

for(i = 0; i < m; i++){
            string s1 = s.substr(i*8,8);
            cout<<s1<<endl;
        }

进制转换

二进制到十六进制:每4个为一组[8,4,2,1]
1111 1111 1111 1111
0xFFFF
二进制转十进制:[...,2^2,2^1,2^0]
十六进制转十进制:[...,16^2,16^1,16^0]