尝试在字符串中索引字符并创建新字符串

时间:2019-03-30 13:46:26

标签: c++

我目前正在制作一款快速的Hangman游戏,我正在努力从单词中提取正确猜出的字母,并将其插入显示给用户的字符串中。到目前为止,这是我的代码:

std::string word_to_guess = "ataamataesaa";
    std::string word_to_fill(word_to_guess.length(), '-');
    char user_guess = 'a';

    for (auto &character : word_to_guess) {
        if (character == user_guess) {
            std::size_t index = word_to_guess.find(&character); 
            word_to_fill[index] = user_guess;
        }
    }

    std::cout << word_to_fill;

这几乎可行,但是它忽略了字符串的最后两个As来猜测我无法理解的内容。

1 个答案:

答案 0 :(得分:0)

“查找”将仅返回第一个匹配项。

与其遍历字符,不如遍历word_to_guess和word_to_fill的索引。

for (int i = 0 ; i < word_to_fill.length ; ++i) {
    if (word_to_guess[i] == user_guess) {
        word_to_fill[i] = user_guess;
    }
}