一次仅仅能删除一个字符,于是多次的调用就得到自己想要的字符串。

字符串竟然这么有意思,弄来玩玩,这的很过瘾。

#include <stdio.h>

int str_size(char* const str) {
	char* tmp = str;
	int len = 0;
	while(*tmp++)
		len++;
	return len;
}

char* del_ch(char* source, char c) {
	if(str_size(source) <= 0)
		return "The strings is too smaller!";
	if(str_size(source) >= 0x1000)
		return "The strings is too bigger!";
	static char desc[0x1000];
	char* tmp = desc;
	while(*source) {
		if(*source == c)
			source++;
		else
			*tmp++ = *source++;
	}
	*tmp = '\0';
	return desc;
}

int main(void) {
	char* const str = "m	y^@^@^ n#a	me		 i~s Z#h~iQiang Li.";
	printf("Source strings is:\n""%s\n", str);
	printf("Desc strings is:\n""%s\n", del_ch(str, '\t'));
	printf("Desc strings is:\n""%s\n", del_ch(del_ch(str,
	'\t'), '~'));
	printf("Desc strings is:\n""%s\n", del_ch(del_ch(del_ch(str,
	'\t'), '~'), '@'));
	printf("Desc strings is:\n""%s\n", del_ch(del_ch(del_ch(del_ch(str, 
	'\t'), '~'), '@'), '#'));
	printf("Desc strings is:\n""%s\n", del_ch(del_ch(del_ch(del_ch(del_ch(str, 
	'\t'), '~'), '@'), '#'), '^'));
}

 

相关文章: