append和push_back在字符串上的用法、string、string转char*

核心:

append——string类
push_back——vector数组

1、在字符串上,只有单个字符的添加,不可以用append,其余都可以

在这里插入图片描述

append

append()函数:是向string 的后面追加字符或字符串。

1、在字符串(str、char*)的末尾添加字符串str。

string s1="hello";
string s2= "a";//字符串不分长短,一个字母也是
string s3="world";
s1.append(s2);  //把字符串s连接到当前字符串的结尾
s1+=s3;//和append同理

char c1 = 'b';
//s2.append(c1) 不可以加字符(单个、多个都不行,只要没加/0都是字符),会乱码
s1="hello a";
s1="hello a world";

char*类型是string类传递字符串的形式,而且可以节省空间

string str = "hello";
const char *c = "大家好!";
//char *c = "大家好!";
//char *c = "jiangkaiwen!";//都是要加const,无论是文字还是字母
str.append(c);
cout << str << endl;

string str_1 = "hello";
string str_2 = "hello";
string str_3 = "姜凯文";

str_1.append(str_2);
str_2.append(str_3);

cout << str_1 << endl;
cout << str_2 << endl;

输出:

hello大家好!
hellohello
hello姜凯文
请按任意键继续. . .

string转char*
data()除了返回字符串内容外,不附加结束符’\0’

string str = "hello";
const char* p = str.data();

char*转string
可以直接赋值

string s;
char *p = "hello";
s = p;

2、字符串截取

string s1 = "hello";
string s2 = "the world";
s1.append(s2,4,5);  //把字符串从s2中从4(从0开始算的4)开始的5个字符(算空格)连接到当前字符串的结尾
s1 = "hello world";//从空格开始
string s1 = "hello";
string s2 = "the world";
s1.append(s2, 3);//从0开始的
运行结果为:s1="hello world"

3、字符数组

#include <iostream> 
#include <string> 
using namespace std;

void appendDemo(string str)
{
	char ch1[6] = { 'G', 'e', 'e', 'k', 's', '\0' };
	char ch2[] = { 'G', 'e', 'e', 'k', 's' };
	char ch3[] = { 's' };
	
	str.append(ch1);

	string str1 = "asd";
	str1.append(ch2);//添加单个字符会导致乱码

	cout << str  << endl<< str1 << endl;
}

int main()
{
	string str("World");
	string str1 = "asd";//两种方式都可以初始化string

	cout << str1 << endl << str2 << endl << endl;
	appendDemo(str);

	system("pause");
	return 0;
}
a
ab

aGeeks
asdGeeks烫烫烫烫烫蘂eeks
请按任意键继续. . .

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用`push_back()`函数将单个字符加入字符串的末尾,例如: ```cpp #include <iostream> #include <string> using namespace std; int main() { string s = "hello"; char c = '!'; s.push_back(c); // 将字符'!'加入字符串s末尾 cout << s << endl; // 输出字符串s,结果为"hello!" return 0; } ``` 另外,`+=`操作符也可以用来将单个字符加入字符串末尾,例如: ```cpp #include <iostream> #include <string> using namespace std; int main() { string s = "hello"; char c = '!'; s += c; // 将字符'!'加入字符串s末尾 cout << s << endl; // 输出字符串s,结果为"hello!" return 0; } ``` ### 回答2: 要将一个char字符加入string字符串的末尾,可以使用string的成员函数`push_back()`。 `push_back()`函数用于将一个字符添加到string的末尾。该函数接受一个char类型的参数,将其添加到末尾,并自动更新string的长度。 例如,假设有一个string字符串`str`,内容为"Hello",我们想将一个char字符'a'添加到字符串末尾: ```cpp str.push_back('a'); ``` 执行完上述代码后,`str`的内容将变为"Helloa"。 需要注意的是,`push_back()`函数只能将单个字符添加到字符串末尾,如果要添加一个字符串,需要使用`append()`函数。此外,如果要添加多个字符,可以使用`+=`运算符来简化代码: ```cpp str += 'b'; str += "cd"; ``` 上述代码分别将字符'b'和字符串"cd"添加到了`str`的末尾。 总结起来,通过调用string的`push_back()`函数,我们可以将单个字符添加到字符串的末尾。 ### 回答3: 在C++中,我们可以使用+运算符将一个char字符添加到一个string字符串的末尾。具体的步骤如下: 1. 首先,我们需要定义一个string类型的变量来存储字符串,例如:string str = "Hello"; 2. 然后,我们需要定义一个char类型的变量来存储要添加的字符,例如:char ch = '!'; 3. 接下来,我们可以使用+运算符将char字符添加到string字符串的末尾,例如:str = str + ch; 4. 最后,我们可以输出添加了char字符后的string字符串,例如:cout << str << endl; 通过上述步骤,我们就可以将一个char字符成功地添加到一个string字符串的末尾了。在这个例子中,最终的输出结果将会是"Hello!"。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值