码迷,mamicode.com
首页 > 其他好文 > 详细

C风格字符串

时间:2018-12-05 02:17:16      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:长度   返回   rcm   因此   函数   c_str   种类   strcpy   实例   

一、简介

  字符串字面值是一种通用结构的实例,这种结构即是C++由C继承而来的C风格字符串。C风格字符串不是一种类型,而是为了表达和使用字符串而形成的一种约定俗成的写法。按此习惯书写的字符串存放在字符数组中并以空字符结束。以空字符结尾的意思是在字符串最后一个字符后面跟着一个空字符(‘\0‘)。

二、C标准库String函数

  下列函数定义在cstring头文件中,cstring是c语言头文件string.h的C++版本。

1、strlen(p)  //返回p的长度,空字符不计算在内。

2、strcmp(p1,p2)  //比较p1和p2的相等性。如果p1==p2则返回0,;如果p1>p2,则返回一个正值1;如果p1<p2,返回一个负值-1.

3、strcat(p1,p2)  //将p2附加到p1之后,p2的空字符也会附加上,返回p1

4、strcpy(p1,p2)  //将p2拷贝给p1,p2的空字符也会拷贝过去,返回p1

  注意:传入上述函数的指针必须指向以空字符作为结束的数组。

三、string和字符数组的转换

  string对象提供了c_str()函数,该函数的返回值是一个C风格的字符串。也就是说,该函数的返回结果是一个指针,该指针指向一个以空字符结束的字符数组,而这个字符数组所存的 数据恰好与那个string对象一样。结果指针的类型是const char *,从而确保我们不会改变字符数组的内容。

  注意:我们无法保证c_str函数返回的数组一直有效,事实上,如果后续的操作改变了string对象的值就可能让之前返回的数组失去作用。因此,如果执行完c_str函数后程序想一直都能使用其返回的数组,最好将该数组重新拷贝一份。

C风格字符串

标签:长度   返回   rcm   因此   函数   c_str   种类   strcpy   实例   

原文地址:https://www.cnblogs.com/ACGame/p/10068377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!