字符串相关

1.读取一行的话:

string str;
getline(cin,str);
cout<<str.size()<<endl;

g e t l i n e getline getline可以过滤掉回车符!
也可以使用fgets, f g e t s ( ) fgets() fgets()是不会过滤掉回车符的!

char str[110];
fgets(str,110,stdin);
int len=0;
for(int i=0;str[i]&&str[i]!='\n';i++)len++;
cout<<len<<endl;

或者 g e t l i n e + c h a r getline+char getline+char

char str[110];
cin.getline(str,110);
cout<<strlen(str)<<endl;

只有对 c h a r char char类型才能使用 s t r l e n strlen strlen
当然也可以手动求长度:

int len=0;
for(int i=0;str[i]!='\0';i++)len++;
cout<<len<<endl;

2.判断每一个字符是否是数字:

if((int)(str[i])>=48&&(int)(str[i])<=57)cnt++;
if(str[i]>='0'&&str[i]<='9')cnt++;

3.一些常用函数:

//1.寻找单个字符首次出现的位置,或者字符串首次出现的位置
str.find();

//用例:
string::size_type index;
    string a = "abcdef";
    string b = "def";
    index = a.find(b);
    if(index != string::npos)  ///则代表在 a 中找到了 b, index是b在a中首次出现的首个字母的下标
                               ///如此处 index 的值为  3
    if(index == string::npos)  ///表示未找到



//2.截取:
str.substr(begin,lenth)   // begin表示起始下标, lenth表示你要截取的长度.


string x = "abcdefg";
string s = x.substr(0,3);
// s 为 abc


//3.insert插入:
string s1 = "gugugu",s2 = "miaomiao";
s1.insert(3,s2);      /// insert(pos,string),在下标为pos处插入串
//gugmiaomiaougu
s1.insert(0,1,'y');   /// 在下标为0处插入单个字符
//ygugmiaomiaougu

//注意:
s1.insert(0,s2);
//miaomiaogugugu

参考文献:
1.字符串入门习题集锦(更新中)
2.C++ string 中的find,erase ,字符串截取 substr ,插入 insert

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值