C++笔记(七)C与C++的字符串区别

无符号数的诡异 

字符串长度

字符串包含的字符个数。

空字符串的长度是0;

""是空字符串常量,没有一个字符,长度是0;

" "是空格字符串常量,包含1个空格,长度是1;

"god"的字符串长度是3;

"欢迎你"的字符串长度不是3,是6或9;(在某些编码中,一个汉字占用2个或(3个)字节)

字符串常量

“字面型”字符串常量,要求用""括起来。

printf("name=%s", "Pook");//C语言方式输出字符串,%s用来匹配字符串

cout << "Pook";//C++方式输出字符串

字符串结束符

在c语言中,为了便于存储字符串,要求在最后一个字符的后面存储一个0;

这个0,称为 “字符串结束符”,常用"\0"表示。

"China"→'C' 'h' 'i' 'n' 'a' '\0'

''→'\0'

在C++中,字符串的最后并没有字符串结束符!

实际存储中,根据编译器的不同,最后可能存储一个字符串结束符,也可能没有。

string字符串

"China"→'C' 'h' 'i' 'n' 'a'

字符串变量的表示

在C语言中,使用char类型的数组,来存储字符串变量;

注:C语言中,没有专用的字符串类型

在C++语言中,使用std::string类型来表示字符串变量;

String变量的输入、输出

使用std::cin >> 输入

从第一个非空白字开始,直到遇到空字符时停止输入

空白字符是指:空格,制表符,回车符

使用std::cout << 输出

例1:
string job;
cout << "工作:" << endl;//console output
cin >> job;             //console input
cout << job << endl;

例2:
string food;
int count = 0;

cout << "你喜欢的食物";
//需要使用循环语句
//使用cin >> 输入时,如果遇到文件结束符(Ctrl+Z),就返回0
while(cin >> food)
{
    count += 1;
    cout << count << food <<endl;
}

例3:
string addr;
//读一行
//从标准输入设备(cin),读取一行字符串,保存到字符串变量addr中
//读一行,直到遇到回车符,注意不包括回车符
//如果用户直接回车,就没有任何数据输入!
getline(cin, addr);
//empty()判断一个字符串,是否为空
//如果是空字符串,结果是true
//否则为false
if(addr.empty())
{
    cout << "你输入了一个空串" << endl;
}
else
{
    cout << addr << endl;
}

//计算字符串的长度
cout << addr.size();
cout << addr.length();

 


string字符串的比较 

从字符串的第一个字符开始,对应字符逐个比较,直到遇到不相等的字符为止。

比较运算符:>、 <、 ==、 >=、 <=

C语言风格的字符串char数组 

字符串是以“字符数组”存储的

char nume[32];
scanf("%s", nume);
printf("%s", nume);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值