字符串插入 C++

String inserting C++

我一直在开发一个可以输出给定扑克牌的程序。我刚开始使用黑桃 A。这绝不是整个程序的使用,但这只是为了看看我是否在正确的轨道上。

为了超出我即将展示的目的,我需要创建一个字符串,其中存储了 "Ace of HeartsSpades",其中一个字符串包含 "Ace",另一个字符串包含 "Spades"

string toString(string myRank, string mySuit)
{
    string halfCard, fullCard;
    halfCard = myRank;                       //Ace 
    fullCard = halfCard.append(mySuit);      //AceSpades
    fullCard.insert(3, " of ");               //Ace of Spades
    return fullCard;
}

这是我目前的方法。我知道并不是每张牌都可以在我的 fullCard.insert 行中使用 3 的位置,所以有没有另一种方法可以使它起作用,以便这种方法对一副牌中的所有牌都通用(不使用小丑在甲板上)。

如果我的解释不清楚,我很抱歉。

比这更容易(假设您使用的是 std::string)

std::string toString(const std::string& myRank, const std::string& mySuit)
{
    return myRank + " of " + mySuit;
}

请注意,我已将您的参数更改为 references,这将避免不必要的字符串对象复制。

我相信你可以这样做:

string toString(string myRank, string mySuit)
{
    return myRank + " of " + mySuit;
}