【C++】简短笔记-关于字符数组

关于字符数组:
len1 = strlen(str1);
len2 = strlen(str2);
int i;
for ( i = 0; i < len1; i++)
{
str3[i] = str1[i];
int qq = 5;
}
str3[i] = ‘\0’;
1、初始化:
(1)可以像普通数组一样,一个一个赋值进行初始化
(2)也可以通过直接赋值字符串来初始化(仅限于初始化的时候);
2、字符数组的输入输出:
输入:scanf getchar gets(fgets)
输出:printf putchar puts
(1)scanf 在%c时可以识别空格和换行并将其输入
在%s时通过空格或换行来识别一个字符串的结束
(2)getchar/putchar
分别用来输入和输出单个字符(getchar不会自动添加\0,需要输出记得自己加)
(3)gets/puts
gets输入一行字符串(识别换行符作为输入结束)(fgets会把\n加在数组中!)
因此scanf完一个整数后,如果要使用gets,应该先用getchar接收换行符
凡是想用fgets,一定要注意前面有没有换行符!
puts用来输出字符串,并紧跟一个换行
3、字符数组的存放方式
字符数组的末尾有个空字符\0
在使用gets和scanf输入字符串时会自动添加在输入的字符串后面,并占用一个字符位
(字符数组的长度一定要比实际储存数多1)
puts和printf就是通过识别\0作为字符串结尾来输出
如果不是使用scanf的%s或者gets函数输出字符串,记得在输出的每个字符后加\0
4、string.h头文件
(1)strlen()
得到字符数组中第一个\0前的字符的个数
(2)strcpy()
把字符数组2复制给字符数组1,包括\0
strcpy(字符数组1,字符数组2)
(3)strcat()
把字符数组2接到字符数组1后面
(4)sscanf()/sprintf()
sscanf(str,"%d",&n);把str写入n
sprintf(str,"%d",n);把n写入str
还可以有%s %f %c等格式,都能适用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值