C 在字符串中的单词之间只保留一个空格
我正试图用C语言编写一个函数来删除字符串中的所有乘法空格 例如:C 在字符串中的单词之间只保留一个空格,c,C,我正试图用C语言编写一个函数来删除字符串中的所有乘法空格 例如: " some random string " => "some random string" 我想要一个void函数来获取一个字符串,不需要更改它,只需打印它。 我以前看过一些关于这个问题的帖子,但没有找到我需要的东西 以下是一个开始的示例: #include <stdio.h> void print_str_but_no_mul_spaces(char* str) { //
" some random string " => "some random string"
我想要一个void函数来获取一个字符串,不需要更改它,只需打印它。
我以前看过一些关于这个问题的帖子,但没有找到我需要的东西 以下是一个开始的示例:
#include <stdio.h>
void print_str_but_no_mul_spaces(char* str)
{
// eat pre-found whitespaces
while(*str && *str == ' ')
str++;
while(*str)
{
// If this is not the prelast char AND
// the next char is not a space OR
// the current char is not a space AND next char is a space
if(*(str + 1) != '\0' && (*(str + 1) != ' ' || (*str != ' ' && *(str + 1) == ' ')))
putchar(*str);
str++;
}
}
int main(void)
{
print_str_but_no_mul_spaces(" some random string ");
return 0;
}
#包括
无效打印字符,但没有多个空格(字符*str)
{
//吃预先发现的空白
而(*str&&*str=='')
str++;
while(*str)
{
//如果这不是上一个字符,则
//下一个字符不是空格或空格
//当前字符不是空格,下一个字符是空格
如果(*(str+1)!='\0'&(*(str+1)!=''.| |(*str!='&*(str+1)=''))
putchar(*str);
str++;
}
}
内部主(空)
{
打印字符串,但不打印多个空格(“一些随机字符串”);
返回0;
}
这应该会激励你坚持下去,让你记住在发帖前总是要展示一些研究成果。祝你好运 你试过什么?为什么不起作用?可能是你写的“我正试图写一个函数…”的重复。所以我想你写了一个函数,由于某种原因它不能工作。如果你想得到帮助,你需要回答你的问题,并在那里展示你的代码,你还可以写:“我以前看过一些关于这个问题的帖子,但没有找到我需要的东西。”。也许你应该告诉我们你到底需要什么。对不起,但你需要说得更清楚些。”从哪里得到一个字符串我想要一个空函数“为什么这个约束?”?如果字符串获取失败,如何将失败通知给调用方?”没有找到我需要的东西——见上面的@MichaelWalz。