要求:去除句子句首句尾的空格,单词间的空格若连续出现多个,只保留一个
注释:两种方法实现了。第一种方法比较水,参照之前写的把句子中的空格转换为“%20”那道题,硬是调用自带的函数,能实现,但感觉略复杂化了,就不多说了
第二种方法,逐个读取字符串里的字符,逐个判断,简单易懂,先去除句首句尾空格,缩小范围,再在这个小范围里逐个判断,实现
#include <stdio.h>
#include <string>
#include <string.h>
#include <iostream>
using namespace std;
char* formatString1(char* sourceString){
int length1 = strlen(sourceString);
int length2 = 0;
if(length1==0)
return '\0';
char space[]= " ";
char final[256];
char *p;
int cnt=0;
//句首处理
p=sourceString;
while(*p == ' ')
p++;
strcpy(sourceString,p);
length1 = strlen(sourceString);
while(strstr(sourceString,space)!=NULL)
{
p=strstr(sourceString,space);
length2=strlen(p);