c++已经是字符串string了,怎么具体提取其中的某个字母
5个回答
展开全部
可以直接提取出所有的字母,之后根据实际需要获取到相应的字母即可。
代码如下:
#include <iostream>
#include <string>
using namespace std;
void main()
{
int i;
string str;
getline(cin,str);
int cnt[2][26]={0};
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='A' && str[i]<='Z')
cnt[0][str[i]-'A']++;
else if(str[i]>='a' && str[i]<='z')
cnt[1][str[i]-'a']++;
}
for(i=0;i<26;i++)
if(cnt[0][i])
cout<<char('A'+i)<<':'<<cnt[0][i]<<endl;
for(i=0;i<26;i++)
if(cnt[1][i])
cout<<char('a'+i)<<':'<<cnt[1][i]<<endl;
}
代码如下:
#include <iostream>
#include <string>
using namespace std;
void main()
{
int i;
string str;
getline(cin,str);
int cnt[2][26]={0};
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='A' && str[i]<='Z')
cnt[0][str[i]-'A']++;
else if(str[i]>='a' && str[i]<='z')
cnt[1][str[i]-'a']++;
}
for(i=0;i<26;i++)
if(cnt[0][i])
cout<<char('A'+i)<<':'<<cnt[0][i]<<endl;
for(i=0;i<26;i++)
if(cnt[1][i])
cout<<char('a'+i)<<':'<<cnt[1][i]<<endl;
}
展开全部
std::string str = "hello";
char h = str[0];
假设字符串被赋给变量str,
则声明并定义一个char型指针:
char* pstr = &str;
现在pstr加上偏移量就可以访问这个字符串了。
为了安全考虑不妨用strlen函数测试一下str的长度
char h = str[0];
假设字符串被赋给变量str,
则声明并定义一个char型指针:
char* pstr = &str;
现在pstr加上偏移量就可以访问这个字符串了。
为了安全考虑不妨用strlen函数测试一下str的长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设字符串被赋给变量str,
则声明并定义一个char型指针:
char* pstr = &str;
现在pstr加上偏移量就可以访问这个字符串了。
为了安全考虑不妨用strlen函数测试一下str的长度
则声明并定义一个char型指针:
char* pstr = &str;
现在pstr加上偏移量就可以访问这个字符串了。
为了安全考虑不妨用strlen函数测试一下str的长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用string的[]提取单个字符,用substr提取子字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
std::string str = "hello";
char h = str[0];
char h = str[0];
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询