gpt4 book ai didi

c++ - 如何删除字符串中的字符?

转载 作者:行者123 更新时间:2023-11-30 01:13:38 27 4
gpt4 key购买 nike

我正在尝试编写一个程序,删除 Pineapple 中的字符“p”以输出 Pineale 这个词。这是我当前的代码。我发现了与此类似的问题,并认为这段代码可以工作,但不幸的是它并非如此。感谢您的帮助!

    #include <iostream>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <limits>
using namespace std;

int main(){
remove(c,s);
}
string remove(char c, const string & s){
string s = "Pineapple";
char chars[] = "p";
for (unsigned int i = 0; i < strlen(chars); ++i)
{
s.erase(remove(s.begin(), s.end(), chars[i]), s.end());
}

cout << s << endl;
return s;
}

最佳答案

首先,您没有定义任何 c 或 s 变量。其次,remove 函数中的参数是 const,这意味着 s 是不可更改的。下面的代码适用于我的 VS2013。

#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <limits>

using namespace std;

string remove(char* charToRemove, string &str){
//string s = "Pineapple";
//char chars[] = "p";
for (unsigned int i = 0; i < strlen(charToRemove); ++i)
{
str.erase(remove(str.begin(), str.end(), charToRemove[i]), str.end());
}

cout << str << endl;
return str;
}

int _tmain(int argc, _TCHAR* argv[])
{
string str("Pineapple");

char chars[] = "p";
remove(chars, str);

int i;
cin >>i;
}

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

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