string

string 用法及注意事项

string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。


#include <string>
#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
	string str = "Hello World";
	//可以用cout直接输出
	cout << "cout str is: " << str << endl;

	// string 转换为 char*
	const char* p = str.c_str();
	//用Printf 输出时需 string 转换为 char*
	printf("printf str is: %s\n", p);

	return 0;
}


  1. cout 可直接输出 string 类的对象的内容;
  2. 使用 c_str() 方法转换 string 类型到 char* 类型时,需要为char添加 const 关键字;
  3. printf() 函数不能直接打印 string 类的对象的内容,可以通过将 string 转换为 char* 类型,再使用 printf() 函数打印。

char、char[]转换为string*
将 char * 、char[] 转换为 string 类型时,直接进行赋值操作,将 char * 、char[] 的变量赋值给 string 对象即可。

说明:这里所说的“赋值”操作,实际上是将 char*、char[] 定义的字符串的首地址赋值给 string 对象了。

#include <string>
#include <iostream>
 
using namespace std;
 
int main()
{
    const char* name = "zhangwuji";//	如果不加const 将报错:"const char *" 类型的值不能用于初始化 "char *" 

    char Camp[] = "alliance";
 
    string strName;
    string strCamp;
 
    strName = name;
    strCamp = Camp;
 
    cout << "strName is: " << strName << endl;
    cout << "strCamp is: " << strCamp << endl;
 
    return 0;
}

首先应该包含头文件

并且string不是window的产物,是属于标准c++中的内容,比char*方便使用,所以推荐作为字符串处理的数据类型。

易犯错误的地方是:在文件的开头地方应使用:using namespace std;避免了其它地方的不同定义,string很容易导致命名冲突。

string 非原始字符串即不以’\0’作为结束符,所以对于strlen 这些操作都是错误的, 只能通过string的size来计算大小,事实上string是基于一个模板类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

k24独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值