gpt4 book ai didi

C++从字符串中删除字符

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:46 25 4
gpt4 key购买 nike

我目前正尝试在 C++ 中实现从文本字段中删除字符。如果用户点击 Backspace,将执行以下代码。当前没有光标,它应该只删除最后一个字符...

if (mText.length() > 0){
mText.erase( mText.length() - 1, 1);
// mText.resize(mText.length() - 1);
}

这第一次工作正常,但如果您再次按下退格键,它不会删除任何内容。

我打印了 mText.length(),它显示长度永远不会改变。我尝试 resize() 字符串,它工作正常,但我第一次按下退格键时它删除了 2 个字符。

我希望有人可以解释这种行为并帮助我解决问题。我不太了解内存分配,所以请耐心等待我;)

谢谢
操作

最佳答案

根据 this ,带有单个 size_t 参数的 string.erase 将删除从指定位置到字符串末尾的所有字符。可以为要删除的字符数提供第二个 size_t 参数。

我使用 http://www.ideone.com 检查了它是否按预期工作(查看 here )并检查 string::length() 是否按预期工作。

我认为问题出在其他地方..

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com