0、忽略某个错误
#pragma warning(disable:4996)//4996为错误代码
1、随机生成a到z之间的一个字符
#include <cstdlib>
using namespace std;
char getRandomCharacter(char ch1, char ch2){
return static_cast<char>(ch1 + rand() % (ch2 - ch1 + 1));
}
char getRandomLowerCaseLetter(){
return getRandomCharacter('a', 'z');
}
如果加上srand(time(0));会增强这种随机感,不然你多运行几次就会发现每次运行后随机生成的字母好像都一样。
2、c++提供的字符检测函数,定义在头文件中。
函数 | 描述 |
---|---|
isdigit(a) | a为数字时返回真 |
isalpha(a) | a为字母时返回真 |
isalnum(a) | a为字母或数字时返回真 |
isupper(a) | a为大写字母时返回真 |
islower(a) | a为小写字母时返回真 |
isspace(a) | a为空白符时返回真 |
isprint(a) | a为可打印字符(包括‘ ’)时返回真 |
isgraph(a) | a为可打印字符(不包括‘ ’)时返回真 |
iscntrl(a) | a为控制字符(如‘\n’’\f’’\v’’\a’等)时返回真 |
tolower(a) | 若a为大写字母,则返回其对应的小写字母;否则返回a本身 |
toupper(a) | 若a为小写字母,则返回其对应的大写字母;否则返回a本身 |
3、一个基于指针的字符串就是一个以空结束符(‘\0’)结尾的字符数组,若定义一个长度为n的数组,其实际能存储的字符长度为n-1个。
4、cin是C++编程语言中的标准输入流对象,即istream类的对象。
5、cin.getline(char array[],int size,char delimitChar);
此方法可用于输入类似“New York”带空白符的字符串,方法中第三个实参默认值为’\n’,若分隔符为空白符,则可简写为cin.getline(char array[],int size)
6、字符串函数(在头文件cstring中)size_t是c++中一个数据类型,在多数编译器中,等同于unsigned int。
函数 | 描述 |
---|---|
intstrlen(char *s1 ) | 返回字符串的长度,即空结束符之前的字符的数目 |
char *strcpy(char *s1,const char *s2) | 将字符串s2复制到s1,返回s1中的地址值 |
char *strncpy(char * s1,const char * s2,size_t n) | 将字符串s2复制到s1,最多复制n个字符,返回s1中的地址值 |
char *strcat(char *s1,const char *s2) | 将字符串s2附加在s1之后,s2的第一个字符覆盖掉s1的空结束符,返回s1中的地址值 |
char *strncat(char *s1,const char *s2,size_t n) | 将字符串s2附加在s1之后,最多附加n个字符,s2的第一个字符覆盖掉s1的空结束符,返回s1中的地址值 |
char *strcmp(char *s1,const char *s2) | 对于s1大于、等于、小于s2三种情况分别返回正数,0和负数,字符串比较和返回值依赖于字符的编码 |
char *strncmp(char *s1,const char *s2,size_t n) | 对于s1前n个字符大于、等于、小于s2中前n个字符这三种情况分别返回正数,0和负数,字符串比较和返回值依赖于字符的编码 |
int atoi(char *s1) | 将字符串s1转换为一个int型值 |
double stof(char *s1) | 将字符串s1转换为一个double型值 |
long atol(char *s1) | 将字符串s1转换为一个long型值 |
void itoa(int value,char *s1,int radix) | 将值 |