c++ - 删除字符串中的一个字符

标签 c++ string

我需要删除字符串中的指定位置

例如:

输入:4 朵花

输出:花

我写了这段代码,但它给出了一个输出:Flo(即删除了单词的其余部分) 除了删除之外,还有什么其他功能可以用来实现这个目标?

int main(){

    int num;
    int index = 1;
    string s;

    cin >> num >> s;
    s = s.erase(num-1);
    cout << index << " " << s << endl;

return 0;
}

最佳答案

尝试:

s.erase(num-1, 1);

您当前(实际上)正在调用:

s.erase(num-1, npos);

(并删除 s = 位,因为不需要重新分配 s)。

关于c++ - 删除字符串中的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653655/

相关文章:

regex - 在文件中搜索RegEx字符串,仅返回文件名,路径和字符串

string - golang中不区分大小写的字符串搜索

mysql - 使用包含引号的新字符串更新 mysql 字段

c++ - 为什么不能使用 '( )' 为类的非静态数据成员赋予默认值?

c++ - 如何修复 “Undefined symbols for architecture x86_64:” C++编译器错误?

java - java 包含特定字符的字符串数组列表

java - 如何检查正在循环的字符串的最后一个索引

c++ - 访问 vector vector 元素时出现段错误

c++ - C++ 模板/通用/元编程的最佳设置

c++ - 将 OpenCV Mat 图像转换到 QImage 时警告使用旧式转换?