连接两个字符串
char a[30] = "kaixuan";
char b[] = "520";
char * c = strcat(a, b);//
//char* c = strcat(a, b);//将末尾的\0也加入进去
if (c != NULL)
printf("追加成功!");
printf("%s", a);
比较两个字符串ASCII码大小
char a[] = "aab";
char b[] = "aac";
int c = strcmp(a, b);
//比较两字符串\0前的有效字符串的ASCII码大小
if (c > 0)
printf("a > b");
else if (c == 0)
printf("a == b");
else
printf("a < b");
获取字符有效长度
char a[] = "aab";
size_t b = strlen(a);//获取字符串有效长度
//size_t == unsigned int
printf("%d", b);
数组复制
char a[20];
char b[] = "kaixuan";
char * c = strcpy(a, b);//复制数组b的有效字符到a,返回字符串的首地址
//char *c = strncpy(a,b,10);//复制前10个字符串
printf("%s", c);
格式化输入
char a[20];
char b[] = "kaixuan";
int c = 1234;
//格式化字符串输入 将字符串和整形变量放入一个字符串中
sprintf(a, "%s,%d", b, c);
printf("%s", a);
格式化输出
char a[] = "kasixuan 300";
char b[20];
int c=0;
//将字符串格式化取出后赋值给b,c
sscanf(a, "%s %d", b, &c);
printf("%s, %d\n", b,c);
//返回个人化个数,为格式化返回-1
获取一个字符的位置
char a[] = "kansixuan 300";
//获取某个字符第一次出现的位置,返回此位置往后的字符串内容
char * c = strchr(a, 'n');//返回 nsixuan 300
printf("%s", c);
获取字符串位置
char a[] = "kansixuan 300";
//获取某个字符串第一次出现的位置,返回此位置往后的字符串内容
char * c = strstr(a, "xuan");//输出 xuan 300
printf("%s", c);
字符串分割
char a[] = "kans.ixuan.300";
//字符串分割
char* c = strtok(a, ".");
while (c != NULL) {
printf("%s\n", c);
c = strtok(NULL, ".");
}
字符串转数值
char a[] = "3045454844";
int b = atoi(a);
double c = atof(a);
long d =atol(a);
long long e = atoll(a);
printf("%d\n", b);
printf("%f\n", c);
printf("%d\n", d);
//printf("%lf\n", e);//占位符未知
获取变量类型
char* a, b;
//输出变量类型
printf("%s\n",typeid(a).name());//char*
printf("%s\n", typeid(b).name());//char