📅  最后修改于: 2023-12-03 15:25:29.378000             🧑  作者: Mango
String是C/C++中用于字符串处理的数据类型。本文介绍C/C++中常用的String函数,包括以下方面:字符串长度、字符串比较、字符串查找、字符串拼接、字符串复制、字符串分割、字符串转换等。
strlen()
函数用于获取字符串的长度。
size_t strlen(const char* str);
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world";
int len = strlen(str);
printf("字符串长度: %d\n", len);
return 0;
}
strcmp()
函数用于比较两个字符串是否相等。
int strcmp(const char* str1, const char* str2);
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello world";
char str2[] = "hello world";
int result = strcmp(str1, str2);
if (result == 0) {
printf("两个字符串相等\n");
} else if (result > 0) {
printf("第一个字符串大于第二个字符串\n");
} else {
printf("第一个字符串小于第二个字符串\n");
}
return 0;
}
strstr()
函数用于在一个字符串中查找另一个字符串。
char* strstr(const char* str1, const char* str2);
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello world";
char str2[] = "world";
char* result = strstr(str1, str2);
if (result) {
printf("找到了, 子串起始位置: %ld\n", result - str1);
} else {
printf("没找到\n");
}
return 0;
}
strcat()
函数用于将一个字符串拼接到另一个字符串末尾。
char* strcat(char* dest, const char* src);
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "hello";
char str2[] = " world";
strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
strcpy()
函数用于将一个字符串复制到另一个字符串。
char* strcpy(char* dest, const char* src);
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100] = "hello world";
strcpy(str1, str2);
printf("%s\n", str1);
return 0;
}
strtok()
函数用于将一个字符串按照指定的分隔符进行分割。
char* strtok(char* str, const char* delim);
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world my name is john";
char* p = strtok(str, " ");
while (p != NULL) {
printf("%s\n", p);
p = strtok(NULL, " ");
}
return 0;
}
atoi()
函数用于将一个字符串转换成整数。
int atoi(const char* str);
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "100";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
atof()
函数用于将一个字符串转换成浮点数。
double atof(const char* str);
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "3.1415926";
double num = atof(str);
printf("%f\n", num);
return 0;
}
itoa()
函数用于将一个整数转换成字符串。
char* itoa(int value, char* str, int base);
#include <stdio.h>
#include <stdlib.h>
int main() {
int num = 100;
char str[10];
itoa(num, str, 10);
printf("%s\n", str);
return 0;
}
dtoa()
函数用于将一个浮点数转换成字符串。
char* dtoa(double value, char* str);
#include <stdio.h>
#include <stdlib.h>
int main() {
double num = 3.1415926;
char str[20];
sprintf(str, "%f", num);
printf("%s\n", str);
return 0;
}