I am looking for a more efficient version than the following to remove a list of characters from a char array or string.
CODE
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char* argv[]) {
char str[] = "table+chair%fu rniture-futon#bed";
char *t = "+*-/%#";
char *pr = str;
int i = 0;
while(*pr != '\0') {
//if(*pr != t) {
if(strchr(t,*pr ) == NULL) {
str[i] = *pr;
++i;
}
pr++;
}
str[i]='\0';
cout << strlen(str) << ":" << str << endl;
return 0;
}
/CODE
CODE
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char* argv[]) {
char str[] = "table+chair%fu rniture-futon#bed";
char *t = "+*-/%#";
char *pr = str;
int i = 0;
while(*pr != '\0') {
//if(*pr != t) {
if(strchr(t,*pr ) == NULL) {
str[i] = *pr;
++i;
}
pr++;
}
str[i]='\0';
cout << strlen(str) << ":" << str << endl;
return 0;
}
/CODE
Comment