根据密码中的字符数替换字符串中的密码

时间:2010-12-06 05:45:02

标签: c++ string

我有这个字符串。我需要找到字符串中的最后一个单词(这是密码),并将其替换为字符串中每个字符的x。如何使用简单的字符串函数执行此操作?即使密码中包含字符和整数,它也需要能够工作,无论长度是多少。

int main()
{
    string data = "Santa Claus 454-90-3424 sclaus password";

    cout << data << endl;
    return 0;
}

我希望我的输出读取:“圣诞老人454-90-3424 sclaus xxxxxxxx”

3 个答案:

答案 0 :(得分:3)

使用find_last_of找到最后一个单词的边界,然后std::fill用x填充它。

答案 1 :(得分:1)

就像我在上一个问题中所说的那样,用空格标记它并用X替换最后一个。

答案 2 :(得分:0)

size_t last_space = data.rfind(" ");
for(size_t = last_space + 1; pos < data.length(); ++pos) data[pos] = 'x';