文字出现-C++数据类型

文字?? 非常常见 没什么感觉呀 比如说正在写文章所使用的"汉字" 这个象形文字太美了,
我们知道都知道伟大的汉字,是中国人 都会感同身受,虽然曾经以文化普及率极低,甚至要"废除汉字"
这种说法,为啥,因为当时的汉字太难学了 而且贫富差异,非常的高,导致文盲率大大的提升,直到中华人民共和国成立, 汉语拼音方案,瞬间 提高了文化水平 也培养了一大批知名人物, 说起汉语拼音非常的不凡:读音就行,当然目的还是汉字有更好的延续下去;

文字类型

啥是文字类型 想想 ,字符 字符的组合是不是文字? 也对呀 是的,但这些字符好像美国为了自己的计算机提供了自己的标准 ANSII 标准编码 但谁能想象到中国 也普及, 所以国家信息部
提供标准编码 来兼容ANSII编码 并且有特色 ,

  • 一个汉字两个字节

字符串

字符的组合就是字符串 ,??? 不对吧 不应该是字符集合 ,?
想想的概念 就知道是不可能的 因为他们是挨着的…
集合:没有任何的关系的 比如说你和一个陌生人 一样 没有任何的关系
而字符串是一个挨着一个 就像房间的编号 一对一的关系,
我好像想到了数组 对的 可以用字符数组表示可修改的字符串 默认是不可修改的,
因为它是一个常量 不可修改 !;

字符数组

存储字符的仓库 可修改的字符串
例子:

//  模拟 歌词
char geci[1024];
strcpy_s(geci ,sizeof(geci) ,"窗外的麻雀,在电线杆子上多嘴");
//歌词:窗外的麻雀,在电线杆子上多嘴
cout<<"歌词: "<<geci<<endl;
C风格字符串

字符数组是C风格字符串
特点:必须在字符串的最后一个字符的下一个 拥有字符串的结束符
比如说:字符串"ABCD";
内存存储:
在这里插入图片描述
看了这个字符串常量内存的存储 不难发现这个还有’\0’ C语言的字符串不知道如何结束 大不了多一个
注意:C风格字符串不可以直接赋值

 char str[64];
str="abcd";//这是错误的

只能通过 C字符串函数来实现

//参数 1:目标可修改字符串, 目标可修改字符串容量,常量字符串
errno_t strcpy_s(char * dest, rsize_t destsz, const char * src); 

strcpy_s 参考

char str[64];
strcpy_s(str ,sizeof(str) ,"ABCD");

若是想拼接操作:

char str[64];
strcpy_s(str ,sizeof(str) ,"ABCD");

strcat_s(str ,sizeof(str),"EFG");

strcat_s 参考

C++风格字符串

string 就正常化就像一个变量一样,当然本质用一个C风格字符串 动态分配内存空间 我们先不去管他的本质,用了再说

string Webname;
Webname="小森程序员";

cout<<"网络名称:"<<Webname<<endl;

cout << "网络名称:"<< Webname << endl; 老版本编译器会报错,只需要包含string 头文件即可

若是想拼接操作:

string Webname="网络名称";

Webname+="小森程序员";
cout<<Webname<<endl;

+=

比较字符串

当 一个字符串比较的时候默认的方式去比较相等或者不相等 比如:用户名或者密码相等才能进入这些网站 ,
直接相等 就 == 不相等就 != 在C++的string 这样比较 C语言只能用strcmp 函数
相等 返回0 不相等前面取逻辑非操作

strcmp
若需要比较那个字符串小 返回值 是<0 也就是-1 相反 若需要比较那个字符串大 返回值 是>0 不等于操作 !((strcmp)==0) =true
C++ string添加了 <= 或者>= ,< ,> 比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小森程序员

若能帮助到你,小费自愿付费

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

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

打赏作者

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

抵扣说明:

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

余额充值