字符串插入 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;
}
我一直在开发一个可以输出给定扑克牌的程序。我刚开始使用黑桃 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;
}