去掉字符串中的标点 (特殊字符)

算法:只将 srcStr字符串中的 非标点字符 赋给destStr.
 
/*去掉字符串中的标点,字符指针操作*/



#include <iostream>

#include <ctype.h>

#include <assert.h>

using namespace std;



char *delPunct(char *destStr, const char *srcStr)

{

//	assert(destStr != NULL && srcStr != NULL);



	while (*srcStr) {

		if (ispunct(*srcStr)) {

			NULL;

		} else {

			*destStr++ = *srcStr;

		}

		srcStr++;

	}

	*destStr = '\0';

	return destStr;

}



int main()

{

	char srcStr[30] = " hello,world. string !";

	char destStr[30];

	delPunct(destStr, srcStr);

	cout << destStr;

	return 0;

}


 

 

 

 

/*去掉字符串中的标点,字符数组操作*/



#include <iostream>

#include <ctype.h>

#include <assert.h>

using namespace std;



int main()

{

	char srcStr[30] = " hello,world. string !";

	char destStr[30];

	

	int j = 0;

	for (int i=0;srcStr[i]!=0;i++) {

		if (ispunct(srcStr[i])) {

			NULL;

		} else {

			destStr[j] = srcStr[i];

			j++;

		}

	}

	destStr[j] = '\0';

	

	cout << destStr;

	return 0;

}

你可能感兴趣的:(特殊字符)