首页 > 解决方案 > 如何在没有*指针、引用等的情况下获取句子中单词的第一个字母

问题描述

这是我编写的代码示例:

    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:: 的情况下完成,因为我对开始使用这些概念还不够熟悉。

标签: c++string

解决方案


而不是使用

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/


推荐阅读