[T]字符串

#字符串入门(ken)教程
字符:一个’ a a a’,‘ x x x’,' 1 1 1’都可以是字符
字符串:多个字符串起来,如" a b c a b c a b c abcabcabc abcabcabc"

S t r i n g String String

一、几种定义方式,记第一个就行

string s1;      //定义一个s1,初始化为空
string s2(s1);  //用s1初始化s2
string s3("abc");//用"abc"初始化s3

string s[100];//s数组

二、输入输出

string s;
cin>>s;//遇到空格停止
cout<<s;
getline(cin,s);//整行读入(包括空格)
//string只能用cin,cout

三、一些 s t r i n g string string操作

string s1="hello",s2="world";
string s=s1+s2;//拼接之后替换s
cout<<s;//helloworld
//s=s1+"abc";也合法

cout<<s.size();//返回s字符个数

if(s.empty())cout<<"空串";//判断是否为空串

string a; 
a.insert(s1,s2);
cout<<a;//插入

a=s.substr(3,5);//返回一个string类型的,以s的3好下标开始的5个字符

还有更多string函数,没太大必要了解这么多,我也不知道

四、总结

会cin,cout,再多就s1+s2是拼接,其他函数看喜好学习和使用


c h a r char char

一、定义与输入输出

char c;//单字符
c=getchar();
scanf("%c",&c);
cin>>c;//不读空格和换行,另外两个要

putchar(c);
printf("%c %s",c,s);
cout<<c;

字符串时,几乎完全类比于数组处理

char s[105];//字符串
scanf("%s",s);
printf("%s %c",s,s[0]);

char a[3][10]={"Hello","thank","you"};

如果你用%d输出char,将会得到该char的ASCII码,这也就是常规大小写转换的原理(一般字符运算原理)

//e.g.
char a=getchar();
if('a'<=a&&a<='z')a=a-'a'+'A';
printf("%c",a);

二、常用函数

char s1[10]="ac",s2[10]="aa",s[10]="01",c='a';
len=strlen(s)//返回s的长度
if(strcmp(s1,s2)>0)cout<<"s1>s2";//s1>s2则为正,s1=s2为0,s1<s2为负;从第一位依次比较
if(isdigit(s[0]));//判断是否十进制数
if(islower(c));   //判断小写字母
if(isupper(c));   //大写,不想记就用'A'<=c&&c<='Z'

三、总结

c h a r char char类型就是字符版 i n t int int,(非常好用
s t r l e n strlen strlen可能需要记一下,其他功能完全可以自己实现

番外

有余力可以看看字符串哈希,看情况会讲
hash,你的暴力字符串题必备操作!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值