c/c++字符学习

1.c++的基本类型分为2类:一组由存储为整数的值组成;一组有存储为浮点格式的值组成

  char:c++中char字符是以整型存储于内存

  string:(1)string并不是简单类型,是复合类型

(2)string是一个类。

注意:c风格的字符串: char ch[]={'y','a','o','\0'};//该处是c风格字符串
char ch2[10]="sheng";//该处不是c风格的字符串,c风格的字符串必须以\0结尾,该处甚至只是字符数组。

备注:在notepad++中运行前不要忘记保存修改内容,坑死爹。


2.string提供函数s.c_str()将string类型转换为char类型

const char *str=s.c_str();//c_str()函数返回const char*类型,不能赋值或初始化char*,char数组。

3.c++提供的cin,cout流输入输出。
             (1) 输入
             
                    在上述程序中cin.get()或cin.getline暂未确定和getline()均被直接跳过。(string版本的getlian函数有指定分界符的版本)
   
                 输出为:
                    此时可确定为cin.getline()未成功输入。
char数组的输入:
                    cin的工作原理:cin使用空白(空格,制表符和换行符)确定字符串的结束位置,这意味着cin在获取字符数组输入时只读取一个单词,读取该单词后,cin将字符放入数组中,并自动在结尾添加空字符。这意味着输入wo   shi 时  cin只能输入wo,shi将被留在输入队列中等待下一次cin,赋值给字符串。
    cin.getline() :面向行的输入,cin读取单词,而cin.getline输入整行,它通过回车键输入的换行符确定输入结尾
    cin.get():原理同cin.getline,但在结束时会将换行符留在输入队列中,下次使用cin.get(变量名,字符串)将直接跳过。
    get()有其他版本(1)cin.get(变量名,字符串)(2)cin.get()无参:该方法读取输入队列下一个字符,可通过该方法读掉换行符。
回到上述问题,判断应该由于cin输入时回车符结束被留存在输入队列中。解决方法 ,通过cin.get()读掉换行符。

调试成功
该案例也说明cin在输入时,结束时的换行符被留在了输入队列中。
我们将cin.getline()在cin前使用:
运行成功:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值