char
内置基础类型,储存单个字符
#include <iostream>
using namespace std;
int main(){
int a = 26, b;
char ch = a + '0'; //整数转字符
b = ch - '0'; //字符转整数
cout << b*2; //52
return 0;
}
#include <cctype>
isalnum(c) //当c是字母或数字时为真
isalpha(c) //当c是字母为真
iscntrl(c) //当c控制字符时为真
isdigit(c) //当c是数字为真
isgraph(c) //当c不是空格但可打印时为真
islower(c) //当c是小写字母时为真
isprint(c) //当c是可打印字符时为真(即c不是空格或c具有可视形式)
ispunct(c) //当c是标点符号时为真(即c不是控制字符、数字、字母、空打印空白中的一种)
isspace(c) //当c是空白时为真(即c是空格、横向制表符、纵向制表符、回车符、换行符、进纸符中的一种)
isupper(c) //当c是大写字母时为真
isxdigit(c) //当c是十六进制数字时为真
tolower(c) //如果c是大写字母,输出对应的小写字母;否则原样输出c
toupper(c) //如果c是小写字母,输出对应的大写字母;否则原样输出c
char[]
C风格字符串,以一个空字符结束的字符数组
#include <iostream>
using namespace std;
int main(){
char ch[] = "1234abcd+-*/%";
cout << sizeof(ch) << endl; //14
cin >> ch;
cout << ch << ends;
return 0;
}
string
std标准库类型
头文件:
#include <string>
#include <cstring>
string对象上的操作:
string s(n, 'c'); //把s初始化为连续n个字符c组成的字符串
cin >> s; //将string对象读入s,遇到空白停止
os << s //将s写到输出流os当中,返回os
is >> s //从is中读取字符串赋给s,字符串以空白分割,返回is
getline(is, s) //从is中读取一行赋给s,返回is
s.empty() //s为空返回true,否则返回false
s.size() //返回s中字符的个数
s[n] //返回s中第n个字符的引用,位置n从0计起
s1 + s2 //返回s1和s2连接后的结果
s1 = s2 //用s2的副本代替s1中原来的字符
s1 == s2 //如果s1和s2中所含字符完全一样,则它们相等;
s1 ! =s2 //string对象的相等性对字母的大小写敏感
<, <=, >, >= //利用字符在字典中的顺序进行比较,且对字母的大小写敏感
s.find(); //查找字符或子串所在位置,若存在子串则返回子串开头字符下标,否则返回-1
s.find('a');
s.find("hello");
s.find("hello", 2); //从字符串s下标2往后面查找
s.replace(); //字符串s某个部分替换成另一个字符串
s.replace(0, 5, "hello"); //字符串s从下标0开始,长度为5的部分替换成"hello"
s.substr(); //取字符串某个部分(子串)
s.substr(2); //取字符串s从下标2开始到结束的部分
s.substr(2, 5); //取字符串s从下标2开始长度为5的部分