C++入门——60s从0到1
字符串处理函数
在C++中,有很多内置的字符串处理函数可以让我们方便地操作字符串。这些函数包括`strlen`、`strcpy`、`strcat`、`strcmp`等等。本文将详细介绍这些函数的使用方法。
strlen函数
`strlen`函数用于获取一个字符串的长度,即不包括字符串末尾的结束符号`\0`。下面是一个示例代码:
#include <iostream>
#include <cstring> // 包含strlen函数的头文件
using namespace std;
int main() {
char str[] = "Hello, world!";
int len = strlen(str); // 获取字符串的长度
cout << "The length of the string is: " << len << endl; // 输出结果为:13
return 0;
}
在上面的代码中,我们首先包含`<cstring>`头文件,然后使用`strlen`函数获取了字符串的长度。注意,我们使用了`\0`作为字符串的结束符号。
strcpy函数
`strcpy`函数用于将一个字符串复制到另一个字符串中。下面是一个示例代码:
#include <iostream> #include <cstring> // 包含strcpy函数的头文件 using namespace std; int main() { char str1[] = "Hello"; char str2[20]; strcpy(str2, str1); // 将str1复制到str2中 cout << "The copied string is: " << str2 << endl; // 输出结果为:Hello return 0; }
在上面的代码中,我们首先声明了一个字符数组`str1`和一个长度为20的字符数组`str2`。然后我们使用`strcpy`函数将`str1`复制到了`str2`中。注意,我们没有手动添加结束符号`\0`,因为`str2`数组已经预先初始化为`\0`结尾的字符串了。
strcat函数
`strcat`函数用于将一个字符串追加到另一个字符串的末尾。下面是一个示例代码:
#include <iostream> #include <cstring> // 包含strcat函数的头文件 using namespace std; int main() { char str1[] = "Hello"; char str2[20] = "world!"; strcat(str1, str2); // 将str2追加到str1的末尾 cout << "The concatenated string is: " << str1 << endl; // 输出结果为:Hello world! return 0; }
在上面的代码中,我们首先声明了一个长度为5的字符数组`str1`和一个长度为6的字符数组`str2`。然后我们使用`strcat`函数将`str2`追加到了`str1`的末尾。注意,我们需要手动添加结束符号`\0`来确保字符串的正确性。
strcmp函数
`strcmp`函数用于比较两个字符串是否相等。如果两个字符串相等,则返回值为0;如果第一个字符串小于第二个字符串,则返回值为负数;如果第一个字符串大于第二个字符串,则返回值为正数。下面是一个示例代码:
#include <iostream> #include <cstring> // 包含strcmp函数的头文件 using namespace std; int main() { char str1[] = "Hello"; char str2[] = "hello"; int cmp = strcmp(str1, str2); // 比较两个字符串是否相等 if (cmp == 0) { cout << "The two strings are equal." << endl; // 如果两个字符串相等,则输出"两个字符串相等。" } else if (cmp > 0) { cout << "The first string is greater than the second string." << endl; // 如果第一个字符串大于第二个字符串,则输出"第一个字符串大于第二个字符串。" } else { cout << "The first string is less than the second string." << endl; // 如果第一个字符串小于第二个字符串,则输出"第一个字符串小于第二个字符串。" } return 0; }
在上面的代码中,我们首先声明了两个长度为5的字符数组`str1`和`str2`。然后我们使用`strcmp`函数比较了这两个字符串的大小关系并输出了相应的结果。注意,我们在比较之前手动添加了结束符号`\0`以确保正确性。