C语言String.h中常用函数
2020-07-21 22:16:33
来源:163健康
浏览量:
连接两个字符串
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");elseprintf("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