c++ - 如何在没有*指针、引用等的情况下获取句子中单词的第一个字母
问题描述
这是我编写的代码示例:
string name = "";
string initials = "";
name = "First Second Third";
for(int i=0;i<name.length();i++){
if(name[i]==32){
cout << name[i+1];
initials=name[i+1];
}
}
cout << "\nYour initials are " << initials << ".";
我的输出是:
"ST"
"Your initials are T."
如何将“S”和“T”保存到我的“首字母”字符串中?
我在问这是否可以在不使用指针、引用或 std:: 的情况下完成,因为我对开始使用这些概念还不够熟悉。
解决方案
而不是使用
initials = name[i+1];
您还可以像这样使用附加功能:(使用#include <string>
)
initials.append(name,i+1,1);
name 是要附加的字符串对象,i+1 是要附加到首字母的 name 的子字符串的第一个字符的位置,1 是子字符串的长度。你可以看看http://www.cplusplus.com/reference/string/string/append/
推荐阅读
- sql - SQL 查询以使用任何城市代码查找不同的城市
- doctrine - 本机查询后的学说映射
- flutter - 颤振共享使用 Riverpod 在屏幕之间接收推送数据
- python-3.x - 如何在python中将字符串转换为StringVar()
- python - 如何检查 objedc 是否具有属性 false o true
- python-3.x - 比较两个文件的每个元素(逐行)
- html - 相对于显示的内容而不是页面定位播放按钮
- pandas - 我想替换异常值而不是完全删除它...有什么建议吗?
- amazon-web-services - 每天将大量 csv 数据摄取到弹性搜索中
- reactjs - 如何在材料 ui datepicker 中仅获取日期?