我试图从C中的字符串中删除空格,而不是从结尾,也不是从头开始,只是字符串中的多个空格
例如
hello everyone this is a test
Run Code Online (Sandbox Code Playgroud)
你好和每个人之间有两个空格,其中有五个空格.最终我想要从5中删除2和4中的1个空格,因此每个间隙都有1个空格.合理?
这就是我要做的事情:
创建一个指针,将其指向元素1 char [0]的字符串.
在字符串的长度上执行for循环
然后我的逻辑是,如果我在[i]的指针是一个空格而我的指针在元素[i + 1]空间然后做某事
我不太清楚这里有什么好的解决方案,请记住我不会使用任何预先构建的功能.有没有人有任何想法?
一种方法是就地进行。从头到尾循环遍历字符串。存储一个写指针和一个读指针。每个循环写指针和读指针前进一位。当您遇到空格时,它会像平常一样传输,但然后循环读取指针每次递增,直到找到非空格(或者显然是字符串的末尾)。不要忘记在末尾添加“\0”,现在您将拥有相同的字符串,但不含空格。