c++ 字符串截取函数
时间: 2023-10-13 14:06:09 浏览: 204
C++ 中可以使用 substr() 函数来截取字符串。该函数的语法如下:
```
string substr (size_t pos, size_t len) const;
```
其中,pos 表示要截取的起始位置,len 表示要截取的长度。如果省略 len 参数,则默认截取到字符串末尾。
例如,以下代码将从字符串 str 的第 3 个字符开始截取 5 个字符:
```
string str = "Hello, world!";
string substr = str.substr(2, 5); // "llo, "
```
注意,substr() 函数返回的是一个新的字符串,原字符串不会被修改。
相关问题
c++字符串操作函数
c字符串操作函数可以使用C++标准库中的<string>头文件中提供的string类来实现。其中一些常用的字符串操作函数包括:
1. 构造函数:可以使用空串初始化一个字符串,或者将一个字符串复制到另一个字符串中,也可以生成由指定数量的字符构成的字符串。
2. 长度和容量:可以使用size()函数获取字符串的长度,也可以使用capacity()函数获取字符串的容量。
3. 访问字符:可以使用[]操作符或at()函数访问字符串中的特定位置的字符。
4. 连接字符串:可以使用+运算符将两个字符串连接起来,也可以使用append()函数将一个字符串附加到另一个字符串的末尾。
5. 比较字符串:可以使用==运算符来比较两个字符串是否相等,也可以使用compare()函数来进行字符串的比较。
6. 分割截取:可以使用substr()函数来截取字符串的一部分,也可以使用strtok()函数将字符串分割成一组子字符串。
7. 查找子字符串:可以使用find()函数来查找一个子字符串在字符串中的位置。
8. 替换子字符串:可以使用replace()函数将一个子字符串替换为另一个字符串。
9. 插入和删除字符:可以使用insert()函数在字符串的指定位置插入字符,也可以使用erase()函数删除字符串的一部分字符。
10. 转换为C字符串:可以使用c_str()函数将string对象转换为C风格的字符串。
c++ string截取字符串函数
在C语言中,可以使用以下函数来截取字符串:
1. strncpy()函数:将一个字符串的一部分复制到另一个字符串,可以截取指定长度的字符串。
```c
char *strncpy(char *dest, const char *src, size_t n);
```
其中,`dest`表示目标字符串,`src`表示源字符串,`n`表示要复制的字符数。
示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, world!";
char str2[10];
strncpy(str2, str1, 5);
str2[5] = '\0';
printf("str2: %s\n", str2);
return 0;
}
```
输出:
```
str2: Hello
```
2. strncat()函数:将一个字符串的一部分拼接到另一个字符串的末尾,可以截取指定长度的字符串。
```c
char *strncat(char *dest, const char *src, size_t n);
```
其中,`dest`表示目标字符串,`src`表示源字符串,`n`表示要拼接的字符数。
示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
strncat(str1, str2, 5);
printf("str1: %s\n", str1);
return 0;
}
```
输出:
```
str1: Hello, wor
```
3. strtok()函数:将一个字符串分割成多个子字符串,可以截取指定的子字符串。
```c
char *strtok(char *str, const char *delim);
```
其中,`str`表示要分割的字符串,`delim`表示分隔符。
示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world! This is a test.";
char *ptr;
ptr = strtok(str, " ");
while (ptr != NULL) {
printf("%s\n", ptr);
ptr = strtok(NULL, " ");
}
return 0;
}
```
输出:
```
Hello,
world!
This
is
a
test.
```
以上是C语言中截取字符串的几种方法,根据具体的需求可以选择不同的函数来使用。