小编g_h*_*g_h的帖子

如何使用循环创建一个新的字符串而另一个字符串中没有空格

我开始尝试编写一个函数,该函数将从字符串中删除空格,但是现在,我已经研究了许多其他人针对该问题的解决方案,而我只是想确切地了解代码中出了什么问题/为什么std::cout << t << std::endl;末尾什么都不输出。

当我std::cout << t[count];在循环中包含该语句(在下面注释掉的语句)时,它将正确输出到控制台:hereissometext无空格。当我std::cout << t[0] << std::endl;结束时,它正确输出ht[1]as et[2]as r,依此类推。但是,当我尝试t在最后输出时,它输出空格,并t.size()输出0

我是编码的新手,如果这是一个完全明显的问题,请原谅我。

    std::string s = "here is some text";
    std::string t = "";
    int count = 0;

    for (int i = 0; i < s.size(); i++) {
        if (std::isalpha(s[i])) {
            t[count]+=s[i];
            // std::cout << t[count];
            count++;
        }
    }

    std::cout << t << std::endl;
Run Code Online (Sandbox Code Playgroud)

c++ string loops

9
推荐指数
3
解决办法
693
查看次数

标签 统计

c++ ×1

loops ×1

string ×1