我正在尝试修改 char 数组(“1,204,342,544”)以最有效的方式删除所有逗号。我正在使用追逐指针方法来解决这个问题。我已经用 C++ 实现了解决方案,但我的代码似乎失败了。我需要一些帮助来查找/纠正我的错误。另外请建议是否有更好(更有效的方法)来实施相同的解决方案。
我知道它在 Python 中真的很简单!
arr = "1,234,34,54"
print arr.replace(',','')
在 C++ 中使用追逐指针(高效方式)
#include <iostream>
using namespace std;
char* removeCommas(char* arr) {
char *curr = arr; // pointer to current position
char *tail = arr; // tail pointer
while (curr) {
if (*curr != ',') {
if (curr != tail) {
*tail = *curr;
}
curr ++;
tail ++;
}
else {
curr ++;
}
}
*tail = '\0';
return arr;
}
int main() {
char arr[] = "1,204,342,544";
removeCommas(arr);
return 0;
}