C字符串与C++字符串基本用法

1. 字符数组与字符串区别

C++中,字符数组和字符串都是通过char关键字来定义的,但二者不同,显著的区别就是字符串的长度是字符数目加1,因为包含了\0结束符,而字符数组的长度就是字符的数目。对于字符数组可以通过sizeof求出其长度,但是对于字符串是其长度加上1。因此这个长度没有意义,为此C++可以用strlen求出字符串的有效内容的长度(不含字符串结束标识\0)。

char cName1[]="liu";//字符串

char cName2[]={'l','i','u','\0'};//字符串

char cNm[]={'l','i','u'};//字符数组

字符数组只能像数组那样输入输出,字符串可以通过指针整体输入输出。

printf("cName1=%s\n",cName1);//整体输出字符串

printf("cName2=%s\n",cName2);//整体输出字符串

printf("cNm=%s\n",cNm);//整体输出字符数组会输出错误遇见内存‘\0’结束

//cName1="zhi";//错误因为数组名看做指针时只能看做常量指针,不可以对其改变

char *p;

//p={'z','h','i'};//错误

p="zhi";

printf("p=%s\n",p);

总结:字符串是一种特殊的字符数组,字符串已‘\0’结束。

2. C++中的字符串比较——字符串数组、字符串(类)、字符指针

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

char str1[] = "abc";

char str2[] = "abc";

string str3 = "abc";

string str4 = "abc";

const char* str5 = "abc";//指向字符串的字符指针str5

const char* str6 = "abc";//指向字符串的字符指针str6

// 1、 字符串数组——比较字符串

// str1、str2是字符数组中str1[0]、str2[0]的地址

cout << (str1 == &str1[0]) << endl;//结果是true,输出1

cout << (str1 == str2) << endl;//  结果是false,输出0

// 正确比较字符数组中的字符串是否一样,可以使用strcmp函数,一样则返回0

if(0 == strcmp(str1,str2))

cout<< "str1 = str2 : true" << endl << endl;

else

cout<< "str1 = str2 : false" <<endl << endl;

// 2、字符串string(类)——比较字符串

// 字符串string(类)间比较字符串内容直接使用关系运算符(==、>、<、>=、<=)即可

cout << (str3 == str4) << endl;//结果是true,输出1

cout << (str3 >= str4) << endl<< endl;//结果是true,输出1

// 3、指向字符串的字符指针——比较字符串

// 字符指针比较字符串内容直接使用关系运算符(==、>、<、>=、<=)即可

cout << (str5 == str6) << endl;//结果是true,输出1

cout << (str5 > str6) << endl;//结果是false,输出0

return 0;

}

C字符串与C++字符串基本用法相关推荐

  1. python中字符串函数的用法_python中字符串内置函数的用法介绍(代码)

    本篇文章给大家带来的内容是关于python中字符串内置函数的用法介绍(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. capitalize() 首字母大写a='somewor ...

  2. Python:'string'字符串内置函数的用法

    本文主要讲的是在python中,str字符串的各类内置函数的用法 id() 打印出指定字符串的内存地址 s='123456789' print(s[1])#输出字符串中指定的字符 print(s[-1 ...

  3. php mysql字符串截取比较读取_MySQL_Mysql字符串截取函数SUBSTRING的用法说明,感觉上MySQL的字符串函数截取 - phpStudy...

    Mysql字符串截取函数SUBSTRING的用法说明 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取 ...

  4. php 字符串函数 教程_php字符串函数 str类常见用法示例

    本文实例讲述了php字符串函数 str类常见用法.分享给大家供大家参考,具体如下: str_split(string, leg);//将一个字符 串转换为数组,参数1:要被转换的字符串,参数2:每 段 ...

  5. python中字符串函数的用法_python中字符串内置函数的用法总结

    capitalize() 首字母大写 a='someword' b=a.capitalize() print(b) ->Someword casefold()&lower() 所有字母变 ...

  6. python字符串strip的作用_Python字符串函数strip()原理及用法详解

    Python字符串函数strip()原理及用法详解 strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.s ...

  7. 分割字符串split函数的正确用法(切片)

    分割字符串split函数的正确用法(切片) split函数是将字符串分割为列表 函数原型: str.split(sep,maxsplit) 参数说明: str:表示要进行分割的字符串 sep:用于指定 ...

  8. c++ string截取字符串_String类的常见用法

    字符串不变:字符串的值在创建后不能被更改.string对象是不可变的,所以它们可以被共享.string底层是靠字符数组实现的."abc"等效于char[] data={'a','b ...

  9. 列表,字典,字符串初识,以及一些用法

    1.列表 定义初始列表的方法. list = [] a=list() 2.列表的下标是从0开始: #list #列表.数组 stus = ['王志华','乔美玲','段鑫琪','王立文' ] # 0 ...

最新文章

  1. 前沿 | DeepMind 最新研究——神经算术逻辑单元,有必要看一下!
  2. Python 字符串前面加u,r,b的含义
  3. html模板引擎 字符串长度,Web前端模板引擎の字符串模板
  4. python2.7练习小例子(二)
  5. 二叉排序树的建立、先序/中序/后序遍历、查找
  6. POJ-2480 Longge's problem 积性函数
  7. DotNetAnywhere:可供选择的 .NET 运行时
  8. java –cp ./:_成为Java流专家–第2部分:中级操作
  9. 前端学习(3246):react的生命周期getSnap
  10. html5游戏制作入门系列教程(四)
  11. 什么是Spring EL表达式
  12. 如何站在双11的肩膀上 详解阿里云企业级互联网架构
  13. 蓝桥杯试题开灯游戏c语言,[蓝桥杯][算法提高VIP]开灯游戏 (C++代码)
  14. JDK+Eclipse安装
  15. 考上985能改变命运吗_南开研究生称读研改变命运被嘲讽,网友:本科垃圾,考上985也没用...
  16. iOS 常用到的宏#define
  17. linux shell 脚本 pdf,Shell脚本学习指南 中文PDF版
  18. oracle批量修改同义词,ORACLE数据库 批量创建同义词
  19. swiper半圆形旋转
  20. html 怎么检测ie浏览器的最高版本,检测是否为IE浏览器及IE浏览器的版本

热门文章

  1. 交互式 shell 玩转 Python
  2. spring与mybatis
  3. PHP中提问频率最高的11个面试题和答案
  4. mysql5.0 执行定时计划
  5. Servlet转发forward和重定向response.sendRedirect()区别
  6. Linux之ssh-add命令
  7. 在线JSON压缩工具
  8. 聊聊Elasticsearch的CachedSupplier
  9. java版电子商务spring cloud分布式微服务b2b2c社交电商(一)服务的注册与发现(Eureka)...
  10. Unity Android DLL热更