c++string截取字符串
时间: 2023-06-23 16:44:49 浏览: 57
在C++中,可以使用std::string::substr()函数截取字符串。该函数接受两个参数,第一个参数是要截取的起始位置,第二个参数是要截取的子字符串长度。例如,下面的代码截取了字符串str从位置3开始的6个字符:
```
std::string str = "Hello, world!";
std::string substr = str.substr(3, 6); // "lo, wo"
```
需要注意的是,substr()函数返回的是一个新的std::string对象,因此需要将其赋值给一个新的变量或者使用一个std::string对象来接收。
相关问题
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语言中截取字符串的几种方法,根据具体的需求可以选择不同的函数来使用。
C++中String 截取字符串方法
在C++中,可以使用`substr()`方法来截取字符串。该方法需要两个参数,第一个参数指定开始的索引位置,第二个参数指定截取的字符数。以下是一个示例:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, World!";
string subStr = str.substr(7, 5);
cout << subStr << endl; // 输出 "World"
return 0;
}
```
在这个例子中,`str.substr(7, 5)`将返回从第7个字符(包括第7个字符)开始的5个字符,即"World"。
阅读全文