最も効率的な方法ですべてのコンマを削除するために、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;
}