C语言String.h中常用函数

连接两个字符串

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容