C++字符串操作

string.c_str() string.data() string.copy(char * s, size_type t)

string类是属于C++的,标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n),这些函数的目的是用来与C语言兼容,把string对象转换为C语言中的字符串样式。
string中c_str()用法总结
C++string类的c_str()函数
总结来看:

  1. c_str()
    返回const char * 指针,指向以空字符终止的数组。

  2. data()
    data()方法与c_str()方法相似,都返回 const char* 类型。两者区别和联系如下:
    在C++98版本中,c_str()返回 const char* 类型,返回的字符串会以空字符(null character)结尾;
    在C++98版本中,data()返回 const char* 类型,返回的字符串不以空字符(null character)结尾;
    在C++11版本中,c_str()与data()用法相同(Both string::data and string::c_str are synonyms and return the same value.)

  3. copy(char * s, size_type t)
    通过拷贝将string内容拷贝到用户自定的字符数组中,拷贝完后两者变化互不影响。

sstream库

该库的使用介绍:待补充
基本介绍和使用示例:C++ stringstream 简单使用

该库中定义了三种用于字符串输入、输出的类:
istringstream:用于字符串流的输入
ostringstream:用于字符串流的输出
stringstream:用于字符串流的输入和输出
该库的常见作用如下:

  1. 常用于作为输出一个整体字符串前的缓存和格式化控制;
  2. 可用于将不同类型的数据,如数值型、字符型等,转换成字符串型,输出到输出流对象中,最后以字符串形式输出。

控制输出格式

std::string sourceStr = "hello world";
std::string outStr;
std::stringstream ss;
for (unsigned char i : sourceStr) {
	// 以16进制数形式输出,输出宽度为2,超过2以实际输出宽度为准,不足2的以字符0补齐。
	// 输出时在输出宽度内左对齐,默认是右对齐。持续有效(同一作用域中,下面重新调用cout时,即使不加std::left也依旧有效果)。
    ss << std::hex << std::setw(2) << std::left << std::setfill('0') << static_cast<int>(i);
}
res = ss.str();
  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值