字符串专题
【摘要】
1.字符串I/O
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<string>using namespace std; int main(){ char s[1000]; //cin>>s;...
1.字符串I/O
-
#include<iostream>
-
#include<stdio.h>
-
#include<stdlib.h>
-
#include<string>
-
using namespace std;
-
int main(){
-
char s[1000];
-
//cin>>s;
-
scanf("%s",s);//读到空格/换行符结束输入,注意区别
-
//scanf("%s %s",s1,s2)//空格数固定已知也可以这样做
-
-
//ps:char s[]数组也可以循环一个个输入字符
-
cout<<s;
-
//输出也可以用 printf("%s",s.c_str());//c_str()将string型转为字符数组输出
-
system("pause");
-
return 0;
-
}
cin和cout在iostream头文件中,而不是stdio.h。
错误输出方法:printf("%s",s);
2.getline读空格
-
#include<iostream>
-
#include<stdio.h>
-
#include<stdlib.h>
-
#include<string>
-
using namespace std;
-
int main(){
-
string s;
-
cin>>s;
-
//getline(cin,s);//都可以,如果字符串有空格得用getline
-
cout<<s;
-
-
system("pause");
-
return 0;
-
}
如果是char型数组str[100],也可以用getline:
-
char str[100];
-
cin.getline(str,100)
3.字符数组2种初始化
(1)和普通数组一样逐个赋值:char str[15]={'g','m','s'};
(2)直接通过字符串初始化(只有初始化可以,其他地方不能这样直接赋值整个字符串):
char str[15]="guomiansheng"
打印则用for循环逐个;printf("%c",str[i])
4.常用函数
有几个在string.h头文件下的常用的处理字符数组的函数:
(1)strlen()统计字符数组中第一个\0前的字符的个数;
(2)strcpy(字符数组1,字符数组2)是把字符数组2复制给字符数字1,注意这里的复制包括了结束符\0
(3)strcat(字符数组1,字符数字2)能把字符数组2接到字符数组1的后面。
5.string用scanf读时
在用scanf读取时,必须声明长度。不声明长度,直接scanf会出现运行时错误。
-
#include <stdio.h>
-
#include <string>
-
using namespace std;
-
int main()
-
{
-
string a;
-
a.resize(100); //需要预先分配空间
-
scanf("%s", &a[0]);
-
puts(a.c_str());
-
return 0;
-
}
6.
文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。
原文链接:andyguo.blog.csdn.net/article/details/98305797
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)