广州网站建设工作室,wordpress最好的中文主题,wordpress搬家 乱码,嵌入式软件工程师待遇c语言中string.h介绍
C语言的标准库中包含了一个头文件 string.h#xff0c;该头文件提供了一系列字符串处理函数的声明和定义。以下是一些常用的函数#xff1a;
字符串复制#xff1a;strcpy(dest, src)。将源字符串 src 复制到目标字符串 dest#xff0c;包括…c语言中string.h介绍
C语言的标准库中包含了一个头文件 string.h该头文件提供了一系列字符串处理函数的声明和定义。以下是一些常用的函数
字符串复制strcpy(dest, src)。将源字符串 src 复制到目标字符串 dest包括字符串结束符 \0。
#include stdio.h
#include string.hint main() {char source[] Hello, world!;char destination[20];strcpy(destination, source);printf(Source: %s\n, source);printf(Destination: %s\n, destination);return 0;
}输出结果 Source: Hello, world! Destination: Hello, world! 字符串连接strcat(dest, src)。将源字符串 src 连接到目标字符串 dest 的末尾结果保存在 dest 中同时返回 dest。
#include stdio.h
#include string.hint main() {char destination[20] Hello;char source[] , world!;strcat(destination, source);printf(String after concatenation: %s\n, destination);return 0;
}输出结果 String after concatenation: Hello, world! 字符串比较strcmp(str1, str2)。比较字符串 str1 和 str2返回一个整数值表示比较结果。如果返回值为负数则 str1 小于 str2如果返回值为正数则 str1 大于 str2如果返回值为 0则 str1 等于 str2。
#include stdio.h
#include string.hint main() {char str1[] apple;char str2[] banana;int result strcmp(str1, str2);if (result 0) {printf(%s is less than %s\n, str1, str2);} else if (result 0) {printf(%s is greater than %s\n, str1, str2);} else {printf(%s is equal to %s\n, str1, str2);}return 0;
}输出结果 apple is less than banana 字符串长度strlen(str)。返回字符串 str 的长度不包括字符串结束符 \0。
#include stdio.h
#include string.hint main() {char str[] Hello, world!;int length strlen(str);printf(Length of the string: %d\n, length);return 0;
}输出结果 Length of the string: 13 字符串查找strchr(str, ch)。在字符串 str 中查找字符 ch 的第一次出现并返回该字符的指针。如果未找到字符则返回 NULL。
#include stdio.h
#include string.hint main() {char str[] Hello, world!;char ch o;char* result strchr(str, ch);if (result ! NULL) {printf(Character %c found at position: %ld\n, ch, result - str);} else {printf(Character %c not found\n, ch);}return 0;
}输出结果 Character ‘o’ found at position: 4 字符串分割strtok(str, delimiters)。将字符串 str 按照分隔符 delimiters 进行分割并返回分割后的子字符串。
#include stdio.h
#include string.hint main() {char str[] Hello,world,how,are,you;const char delimiters[] ,;char* token strtok(str, delimiters);while (token ! NULL) {printf(%s\n, token);token strtok(NULL, delimiters);}return 0;
}输出结果 Hello world how are you c语言中string介绍
C 中有一个名为 std::string 的标准库类它提供了处理字符串的功能。要使用 std::string 类需要包含头文件 string。
创建字符串对象可以使用以下方式创建 std::string 对象。
std::string str1; // 创建一个空字符串
std::string str2 Hello, world!; // 创建并初始化一个字符串
std::string str3(Welcome); // 使用字符串字面值创建字符串字符串拼接可以使用 运算符或者 append() 函数进行字符串拼接。
std::string result str1 str2;#include iostream
#include stringint main() {std::string str1 Hello;std::string str2 world!;std::string result str1 str2;std::cout Concatenated string: result std::endl;return 0;
}结果输出 Concatenated string: Hello world! #include iostream
#include stringint main() {std::string str1 Hello;std::string str2 world!;str1.append(str2);std::cout Concatenated string: str1 std::endl;return 0;
}结果输出 Concatenated string: Hello world! 字符串长度可以使用length()或 size() 成员函数获取字符串的长度。
int length str.length();#include iostream
#include stringint main() {std::string str Hello, world!;int length str.length();std::cout Length of the string: length std::endl;return 0;
}输出结果 Length of the string: 13 #include iostream
#include stringint main() {std::string str Hello, world!;int length str.size();std::cout Length of the string: length std::endl;return 0;
}输出结果 Length of the string: 13 访问单个字符可以使用 [] 运算符或 at() 成员函数来访问字符串中的单个字符。
char ch str[0]; // 访问第一个字符
char ch2 str.at(2); // 访问第三个字符#include iostream
#include stringint main() {std::string str Hello, world!;char firstChar str[0];char lastChar str[str.length() - 1];std::cout First character: firstChar std::endl;std::cout Last character: lastChar std::endl;return 0;
}输出结果 First character: H Last character: ! 字符串比较可以使用 、!、、、、 运算符或者 compare() 函数对字符串进行比较。
if (str1 str2) {// 字符串相等
}#include iostream
#include stringint main() {std::string str1 Hello;std::string str2 World;int result str1.compare(str2);if (result 0) {std::cout Strings are equal. std::endl;} else if (result 0) {std::cout str1 is less than str2. std::endl;} else {std::cout str1 is greater than str2. std::endl;}return 0;
}输出结果 str1 is less than str2. 查找子字符串可以使用 find() 成员函数或者 find_first_of() 函数在字符串中查找子字符串的位置。
size_t pos str.find(world); // 查找 world 的位置#include iostream
#include stringint main() {std::string str Hello, world!;std::string subStr world;size_t position str.find(subStr);if (position ! std::string::npos) {std::cout Substring found at position: position std::endl;} else {std::cout Substring not found. std::endl;}return 0;
}输出结果 Substring found at position: 7 在上述示例中我们声明了一个 std::string 类型的字符串变量 str赋值为 “Hello, world!”。然后声明了一个 std::string 类型的子字符串变量 subStr赋值为 “world”。接下来使用 find() 函数在字符串 str 中查找子字符串 subStr 的位置。如果找到了子字符串find() 函数返回子字符串的起始位置如果未找到子字符串find() 函数返回 std::string::npos。在示例中我们判断返回值是否等于 std::string::npos如果不等于则输出子字符串的位置。 #include iostream
#include stringint main() {std::string str Hello, world!;std::string subStr ow;size_t position str.find_first_of(subStr);if (position ! std::string::npos) {std::cout Substring found at position: position std::endl;} else {std::cout Substring not found. std::endl;}return 0;
}输出结果 Substring found at position: 4 在上述示例中我们使用 find_first_of() 函数在字符串 str 中查找子字符串 subStr 中的任意一个字符的位置。与 find() 函数不同find_first_of() 函数返回的是子字符串中任意一个字符在原字符串中的第一个匹配位置。在示例中我们判断返回值是否等于 std::string::npos如果不等于则输出子字符串中任意一个字符的位置。 子字符串提取可以使用 substr() 成员函数提取字符串的子串。
std::string sub str.substr(7, 5); // 提取从位置 7 开始的 5 个字符字符串插入、删除和替换可以使用 insert()、erase() 和 replace() 成员函数对字符串进行插入、删除和替换操作。