以下の関数は、私が Github で保守している文字列処理ライブラリの一部です。文字列から不要な文字を削除します。まさにあなたが望むものです
int zstring_search_chr(const char *token,char s){
if (!token || s=='\0')
return 0;
for (;*token; token++)
if (*token == s)
return 1;
return 0;
}
char *zstring_remove_chr(char *str,const char *bad) {
char *src = str , *dst = str;
while(*src)
if(zstring_search_chr(bad,*src))
src++;
else
*dst++ = *src++; /* assign first, then incement */
*dst='\0';
return str;
}
使用例は次のとおりです。
Example Usage
char s[]="this is a trial string to test the function.";
char const *d=" .";
printf("%s\n",zstring_remove_chr(s,d));
Example Output
thisisatrialstringtotestthefunction
他の利用可能な機能を確認したり、プロジェクトに貢献したりすることもできます:)
https://github.com/fnoyanisi/zString