通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。
如果输入“abc def gh i d”,结果将是abc,def,gh,i,d,
我写的代码只能识别一个空格,不能识别多个空格
#include <stdio.h>
#include <string.h>
void DividString(const char *pInputStr, long lInputLen, char *pOutputStr);
int main()
{
char str1[101], str2[101], len, i, j;
gets(str1);
len = strlen(str1);
DividString(str1, len, str2);
puts(str2);
getchar();
return 0;
}
void DividString(const char *pInputStr, long lInputLen, char *pOutputStr)
{
int i;
for (i = 0; i < lInputLen; i++)
{
if (pInputStr[i] != ' ')
pOutputStr[i] = pInputStr[i];
else if (pInputStr[i] == ' '&&pInputStr[1 + i] != ' ')
pOutputStr[i] = ',';
else if (pInputStr[i] == ' '&&pInputStr[1 + i] == ' ')
continue;
}
pOutputStr[i++] = ',';
pOutputStr[i] = '\0';
}