C++ 易错知识点记录(含常用函数)

1. C风格字符串处理函数

strlen()  //计算字符串的长度

strcpy()  //将字符串复制到字符数组中

strncpy()

strcat()  //将字符串附加到字符数组末尾

strncat()

strcmp()

(1)头文件 #include <cstring>

(2)strlen()函数

        strlen()函数返回的是存储在数组中字符串的长度,而不是数组本身的长度。且只计算可见的字符,不把空字符'\0'计算在内。如果cosmic是字符串,则存储此字符串的数组长度不能小于strlen(cosmic)+1。

(3)strcpy()函数和strncpy()函数

char food[20] = "carrots";
strcpy(food, "flan");

strncpy(food, "a picnic basket filled with many goodies", 19);
food[19] = '\0';

        strcpy()函数会在最后自动添加'\0'。strncpy()接收第3个参数——要复制的最大字符数。注意,如果该函数在到达字符串结尾之前,目标内存已经用完,则它不会添加空字符,因此需要手动添加。上例中,如果该字符串少于19个字符,则strncpy()将在复制完该字符串之后加上空字符,以标记该字符串的结尾。

        注意,应使用strcpy()或者strncpy(),而不是赋值运算符来将字符串赋给数组。

2. 字符串的IO

        cin使用空白(空格、制表符和换行符)来确定字符串的结束位置,这意味着cin在获取字符数组输入时只读取一个单词,将其放到数组中,并自动在结尾添加空字符

        istream中的类(如cin)提供了一些面向行的类成员函数:getline()和get()。这俩函数都读取一行输入,直到到达换行符。区别是,getline()将丢弃换行符,而get()将换行符保留在输入序列中

(1)面向行的输入:getline()。调用方法:cin.getline()

        1)该函数包含两个参数,第一个参数用来存储输入行的数组的名称,第二个参数指出要读取的字符数,如果此参数为20,则最多读取19个字符,余下的空间用于存储在结尾自动添加的空字符getline()成员函数在读取指定数目的字符遇到换行符时停止读取。</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值