gpt4 book ai didi

c++ - 从字符串中删除逗号

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:14 34 4
gpt4 key购买 nike

我用 C++ 创建了一个程序,它从给定的整数中删除逗号 (,)。即 2,00,00 将返回 20000。我没有使用任何新空间。这是我创建的程序:

void removeCommas(string& str1, int len)
{
int j = 0;

for (int i = 0; i < len; i++)
{
if (str1[i] == ',')
{
continue;
}
else
{
str1[j] = str1[i];
j++;
}
}

str1[j] = '\0';
}

void main()
{
string str1;
getline(cin, str1);
int i = str1.length();
removeCommas(str1, i);
cout << "the new string " << str1 << endl;
}

这是我得到的结果:

Input : 2,000,00
String length =8
Output = 200000 0
Length = 8

我的问题是,为什么它在输出中显示长度为 8 并在我放置空字符时显示字符串的其余部分。它应将输出显示为 200000,长度为 6

最佳答案

让标准库为您完成工作:

#include <algorithm>

str1.erase(std::remove(str1.begin(), str1.end(), ','), str1.end());

如果你不想修改原始字符串,那也很简单:

std::string str2(str1.size(), '0');
str2.erase(std::remove_copy(str1.begin(), str1.end(), str2.begin(), ','), str2.end());

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

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