c++怎么在字符串前面加字符
时间: 2024-05-07 07:21:02 浏览: 14
你可以使用字符串的 `insert` 函数在字符串前面插入一个字符。具体使用如下:
```cpp
std::string str = "world";
char ch = 'H';
str.insert(0, 1, ch);
std::cout << str << std::endl; // 输出:Hello, world
```
在上面的代码中,我们首先声明一个字符串 `str`,然后声明一个字符 `ch`,它是我们要添加到 `str` 前面的字符。接下来,我们使用 `insert` 函数,在 `str` 的第 0 个位置插入一个大小为 1 的字符 `ch`。最后,我们输出 `str` 的值,可以看到它的值变成了 `Hello, world`。
相关问题
c++删除字符串前面的0
可以使用以下代码删除字符串前面的0:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "0000123456";
int i = 0;
while (str[i] == '0') { // 从字符串头开始查找0
i++;
}
if (i > 0) { // 如果有0需要删除
memmove(str, str + i, strlen(str) - i + 1); // 使用memmove函数将非零部分移到字符串头
}
printf("%s\n", str); // 输出结果: "123456"
return 0;
}
```
上述代码中,使用了 `memmove` 函数将非零部分移到了字符串头。需要注意的是,使用 `strcpy` 函数也可以实现类似的功能,但是在处理大量数据时,`memmove` 函数的效率更高。
C++提取某个字符串前面的字符
可以使用字符串的substr()方法来提取子串,如下所示:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Hello, world!";
string sub = str.substr(0, 5);
cout << sub << endl;
return 0;
}
```
上面的代码会输出 "Hello"。其中,substr()方法的第一个参数是提取的子串的起始位置,第二个参数是提取的子串的长度。在这个例子中,我们提取了 "Hello" 这个子串,它的起始位置是0,长度是5。如果想提取某个字符串前面的字符,可以使用该字符串的find()方法找到该字符串的位置,然后再用substr()方法提取需要的子串。例如:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Hello, world!";
string sub = str.substr(0, str.find(","));
cout << sub << endl;
return 0;
}
```
上面的代码会输出 "Hello"。其中,str.find(",") 方法返回 "," 这个字符串在 str 中的位置,然后通过 substr() 方法提取 "," 前面的子串。