1、用C++实现删除字符串中指定的字符,
2、函数int deleteChar(char *s, char c);
其中:*s为字符串指针,
c为要删除的字符,
返回值为删除的字符个数;
3、函数deleteChar做空指针检测if(NULL == s)
//201901009
#include <iostream>
#include <string>
using namespace std;
int deleteChar(char *s , char c);
int main()
{
char a[] = "Hello world! Hello world! Hello world!";
cout << a << endl << endl;
char b;
cout << "Enter the delete char:\n";
cin >> b;
int num = deleteChar(a, b);
cout << a << endl;
cout << "The number of deleted characters:\n";
cout << "num = " << num << endl;
return 0;
}
int deleteChar(char *s , char c) //删除字符串中指定的字符
{
if(NULL == s)
{
cout << "The current pointer is empty!" << endl;
return 0;
}
else
{
char *f = s;
int i = 0, j = 0;
while(*s)
{
i++;
if (*s != c) // 如果不是指定的字符就复制
{
j++;
*f = *s;
f++;
}
s++;
}
*f = '\0' ; //封闭字符串
if(i == j)
cout << "There are no characters to delete in the string!" << endl;
return i-j; //返回删除的字符个数
}
}
参考链接:https://bbs.csdn.net/topics/370006412
leetcode链接(大神的):https://github.com/soulmachine/leetcode