首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用可视C++将字符串拆分为每个字符

如何使用可视C++将字符串拆分为每个字符
EN

Stack Overflow用户
提问于 2016-10-14 08:08:02
回答 1查看 22关注 0票数 0

我正在创建一个C++程序,其中每个人以字符串的形式输入他们的名字,程序根据每个名字包含的字母输出语句。

例如,如果一个人的名字中有字母"y",它应该显示某个语句,但如果他们有"a“和"y”,则语句应该是不同的。

这个程序可以类似于命理学,如果你的名字中有某些字母,它应该输出一个给定的语句。

为了做到这一点,我需要知道如何从>用户输入中获取一个字符串,并分别查看每个字符。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-10-14 08:29:11

我不确定我是否完全理解您的问题,但这应该会有所帮助。

把一个字符串想象成一个字符数组。如果你有一个字符串,

代码语言:javascript
运行
复制
string entry = "John Smith";

然后你打电话给

代码语言:javascript
运行
复制
cout << entry[0];

entry将返回条目中的第一个字符'J‘。

有了这些知识,您应该能够获取一个姓名条目,并使用if语句来测试字符串中的字母。

代码语言:javascript
运行
复制
string entry;
cout << "What is your name?" << endl;


// Sets entry equal to what is typed in:

getline(cin,entry);



//Tests for letters:

if (entry[0] == 'J' && entry[1] == 'o') {

    cout << "Oh, your name starts with J, and the second letter is o" << endl;

}

else if (entry[0] == 'J') {

    cout << "Oh, your name starts with J and the second letter is not o." << endl;

}

在这一点上,您可以对if语句执行的操作没有限制。如果想要在字符串中的任何位置找到某个字母,而不是某个位置,请使用for循环。

代码语言:javascript
运行
复制
for (int i = 0; i < entry.size(); i++) {

    if (entry[i] == 'a') {

        cout << "Oh, there's an a somewhere in your name." << endl;

    }

}

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40032961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档