C++笔记
C++ cctype模块:
函数名称 | 返回值 |
---|---|
isalnum(num) | 如果参数是字母数字,即字母或数字,该函数返回true |
isalpha(num) | 如果参数是字母,该函数返回true |
iscntrl(num) | 如果参数是控制字符,该函数返回true |
isdigit(num) | 如果参数是数字(0~9),该函数返回true |
isgraph(num) | 如果参数是除空格之外的打印字符,该函数返回true |
islower(num) | 如果参数是小写字母,该函数返回ture |
isprint(num) | 如果参数是打印字符(包括空格),该函数返回true |
ispunct(num) | 如果参数是标点符号,该函数返回ture |
isspace(num) | 如果参数是标准空白字符,如空格、进纸、换行符、回车、回车、水平制表符或者垂直制表符,该函数返回true |
isupper(num) | 如果参数是大写字母,该函数返回true |
isxdigit(num) | 如果参数是十六进制数字,即0~9、a~f或A~F,该函数返回true |
tolower(num) | 如果参数是大写字符,则返回其小写,否则返回该参数 |
toupper(num) | 如果参数是小写字符,则返回其大写,否则返回该参数 |
字符数组的赋值
头文件cstring中提供了相应的函数:
函数strcpy(charr1, charr2):将字符数组charr2中的字符串复制到字符数组charr1中,charr1和charr2分别是两个数组的第一个元素的地址。
函数strcat(charr1, charr2):将字符数组charr2中的字符串附加到字符数组charr1末尾,charr1和charr2分别是两个数组的第一个元素的地址。
但是字符数组总存在目标数组过小,无法储存指定信息的危险,如:
char site[10] = “house”;
strcat(site, ” of pancakes”);
函数strcat()试图将全部12个字符复制到数组site中,这将覆盖相邻的内存。这可能导致程序终止,或者程序继续运行,但数据损坏。
确定字符数组中字符数:int len = strlen(charr1)
string对象:
头文件string,且string类位于命名空间std中,需使用一条using编译指令,或者使用std::string来引用。
string对象可以自动调整大小,如:
string str1;
cin >> str1;
srt1的声明创建一个长度为0的string对象,但程序将输入读取到str1中,将自动调整str1的大小。
赋值、拼接和附加:
可以将一个string对象赋给另一个string对象:
string str1;
string str2 = “asdasda”;
str1 = str2;
可以使用”+”将两个string对象合并起来,还可以使用运算符“+=”将字符串附加到string对象末尾:
string str3;
str3 = str1 + str2;
str1 += str2;
确定string对象中的字符数:
int len = str.size();
const 和指针:
第一种情况:
int age = 39;
const int* pt = &age;
在这条声明中,const指令能够防止修改pt指向的值(即age),但是不能防止修改pt的值。换句话说,可以将一个新地址赋给pt:
int sloth = 80;
pt = &sloth;
第二种情况:
int sloth = 3;
int* const finger = &sloth;
这种声明格式使得finger只能指向sloth,但是可以通过*finger来改变变量sloth的值。