C++字符串操作函数

关于string.h,cstring和string的区别:

string.h 是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数。

cstring 在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个”c”前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。所以,string.h,cstring并没有什么太大的区别,小的区别还是有的,在下面就会说到一个不同。

string 是C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。

求字符创长度

C/C++ strlen(str)、str.length()、str.size()、sizeof(str)都可以求字符串长度。

其中str.length()、str.size()、sizeof(str)是用于求string类对象的成员函数

string str="dsfasdafasdfasfd";
int len;
len=str.length();//计算字符串长度
cout<<len<<endl;
len=str.size();//计算字符串分配长度
cout<<len<<endl;
len=sizeof(str);//计算字符串所占字节数
cout<<len<<endl;

输出结果:

16
16
8

sizeof有三种语法形式:

1) sizeof (object); //sizeof (对象)

2) sizeof object; //sizeof 对象

3) sizeof (type_name); //sizeof (类型)

strlen(str)是用于求字符数组的长度,其参数是char*。

定位字符串中某一个字符

定义一个string类的对象,初始化为某字符串,获取字符串中某位置的字符有两种方式:用[ ]进行下标访问;用at成员函数访问。

//求string中某一下标下的字符
	cout<<str[3]<<endl;
	cout<<str.at(3)<<endl; 

输出结果:

a
a

字符串逆转操作

C++中有一个reverse函数可以进行逆转操作。

函数原型是:

void reverse (BidirectionalIterator first,BidirectionalIterator last);

可以用来交换数组,字符串的顺序。

	reverse(str.begin(),str.end());
	cout<<str<<endl;

输出结果:

dfsafdsafadsafsd

怎么将字符变成string字符串

char c;
string str;
stringstream stream;
stream << c;
str = stream.str();
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值