gpt4 book ai didi

c++ - 从字符数组中删除第一个和最后一个 'X' 字符

转载 作者:行者123 更新时间:2023-11-30 02:32:41 25 4
gpt4 key购买 nike

我正在尝试从字符串中删除第一个“w”和最后一个“w”。我删除了第一个 'w',但无法删除最后一个,这是我的代码:

char str1[80], *pstr1, *pstr2;
cout << "Enter a String:\n";
gets_s(str1);
pstr1 = str1;
pstr2 = new char[strlen(str1)];
int n = strlen(str1) + 1, k = 0, i = 0;
bool s = true;
while (k < n+1)
{

if (strncmp((pstr1 + k), "w", 1) != 0)
{
*(pstr2 + i) = *(pstr1 + k);
i++;
k++;
}
else if(s == true)
{
k++;
s = false;
}
else
{
*(pstr2 + i) = *(pstr1 + k);
i++;
k++;
}
}

最佳答案

让您的生活变得简单,用起来std::stringfind_first_of , find_last_oferase .

#include <string>

void erase_first_of(std::string& s, char c)
{
auto pos = s.find_first_of(c);

if (pos != std::string::npos)
{
s.erase(pos, 1);
}
}

void erase_last_of(std::string& s, char c)
{
auto pos = s.find_last_of(c);

if (pos != std::string::npos)
{
s.erase(pos, 1);
}
}

#include <iostream>

int main()
{
std::string s = "hellow, worldw\n";

erase_first_of(s, 'w');
erase_last_of(s, 'w');

std::cout << s;
}

关于c++ - 从字符数组中删除第一个和最后一个 'X' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36154272/

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