机试 字符串处理 操作笔记

基础知识一定一点记牢,机试都是闭卷!

字符数组

  • IO:都是%s,唯一一个可以不加&的scanf。另外,scanf("%c", &ch); 可以读入换行和空格,如果为了节约Input时间或输入格式要求,可以用scanf(" %c", &ch); 在%c前面加上空格,这样就把缓冲区中的回车当成第一个字符,读取后丢掉。
  • 比较大小用strcmp(s1, s2)<0说明s1<s2
  • 判断长度:strlen(s);
  • gets(s)可以读入空格,遇到换行终止(此时换行符也没了,getchar吃是换行符下面的第一个字符);但是scanf或cin后,后面的空格或换行依然存在!so有时候需要用getchar吃掉(例如用完scanf再用gets,可能只是把后面的换回读入)
  • cin.getline(s,5,'\n'),多一个限制实际内容长度为4(还有一个'\0')的功能,注意这个是用来接收字符数组,而不是string

string部分

  • IO:scanf string,要:首先str.resize(10)//是字符,不是字节 ; 然后scanf("%s" ,&str[0]); printf string,要:printf("%s", str.c_str());
  • 比较大小直接a<b,和字符数组的strcmp一样
  • 判断尺寸:s.length();这里也可以用strlen(s.c_str());这个是遇到'\0'就终止,有时候需要s.resize后用scanf,这样length返回的是size,而不是真正输入的长度
  • getline(cin, s, '\n');默认遇到换行符终止,和gets一样吃了换行符。要string头文件。
  • int 和 float/double可以直接用to_string(n) 函数转为string类型;而string转int也可以直接 n=stoi(str);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值