字符串的总结(自用)

格式

两种方式:字符数组和字符串

int N =105;
char str[N];//字符数组
string a;//字符串

输入

cin:读取时以空格符,回车符作为结束符,且不读取这些符号,即这些符号会停留在缓存区。
cin.get:读取时以换行符作为结束符,且读取空格,换行这些符号。
getline:与cin.get类似,第一个是从何输入,第二个是输入的字符串。
注意:因为cin不读入换行符,如果下次输入用 cin.get 这类(能够读换行符)去读取其他的字符串会使得 这类字符串 读入还在缓存区的回车符 导致读入结束。即如下所示,字符串str为空。此时可以选择用getchar去读入缓存区的回车符,或者避免这种现象的发生。

string a;char str[N];char ch;
cin<<a;
cin.get();//读取缓存区的换行符
getchar();//作用和上一句一样
cin.get(str,N);//N为想要读取的字符个数,包括\0的位置
cin.get(ch);//读取单个字符
getline(cin,a);

输出

puts:自动换行,直接输出字符串,可以指定位置输出字符串
输出string类型用cout,(用printf比较麻烦)

char c[10];
printf("%s\n",c);
puts(c);//等价于上一条语句
puts(c+n);//从c+n开始输出
puts("Hello");//可以直接输出字符串

string ch;
cout<<ch;

相关函数

字符串和字符数组的转化:
c_str():可以将string转换成char

字符串的比较:
strcmp函数:只支持字符数组类型之间的比较,字符串类型可直接用‘==’判断。

字符串的拷贝:
strcpy函数:strcpy(chardes,charsrc);将src的内容拷到des中,会覆盖目的数组,并且目的空间要大于原空间,否则会出现错误
返回值为0就是相等,小于0就是左边小于右边,大于0就是左边大于右边。

字符的查找:
strchr函数:strchr(char*des,char c)查找字符c是否在des中,如果是返回第一次的位置,如果没有就返回为空

字符串的粘贴:
strcat函数:strcat(chardes,charsrc);将src的内容粘贴des后面,同样要注意空间问题。

字符串的长度:
char:strlen函数 头文件C++:cstring C:string.h
string:length(),size()

清空字符串
string:str.clean();

strcmp(char a[N],char b[N]);//格式
strcmp(char str[N],a.c_str());//具体调用,字符串a可通过 c._str转换成字符数组类型

len=strlen(str);
len1=a.length();
len2=a.size();
a.clean();

未完

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值