#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int del_other_char(char *str_old, char *str_new)
{
int ret = 0;
if (str_old == NULL || str_new == NULL)
{
return -1;
}
while (*str_old != '\0')//去除除了小写字母以外的任何字符,拷贝到新的字符串中
{
if (*str_old >= 'a' && *str_old <= 'z')
{
*str_new++ = *str_old;
}
str_old++;
}
*str_new = '\0';
return ret;
}
int change_str(char *str_old, char *str_new)
{
int ret = 0;
if (str_old == NULL || str_new == NULL)
{
return -1;
}
while (*str_old != '\0')
{
int ncount = 1;
while (*str_old == *(str_old + 1))
{
ncount++;
str_old++;
}
*str_new++ = *str_old++;
*str_new++ = ncount + 48;
}
*str_new = '\0';
return ret;
}
int main()
{
int ret = 0;
char *str_old = "23423aaaaaabbbbbdddddawewewew323eeee eee2323tyuttt";
char str_new1[100];
char str_new2[100];
ret = del_other_char(str_old, str_new1);
if (ret != 0)
{
printf("ERROR!!! func del_other_char()");
return ret;
}
ret = change_str(str_new1, str_new2);
if (ret != 0)
{
printf("ERROR!!! func change_str()");
return ret;
}
printf("%s", str_new2);
system("pause");
}