c语言删除字符串空格
时间: 2023-12-12 16:05:42 浏览: 57
以下是C语言删除字符串空格的代码实现:
```c
#include <stdio.h>
void del_space(char *s1) {
char *s2;
s2 = s1;
while (*s1) {
if (*s1 == ' ') {
s1++;
} else {
*s2 = *s1;
s1++;
s2++;
}
}
*s2 = '\0';
}
int main(int argc, char *argv[]) {
char s[] = " abc cd fg";
puts(s);
del_space(s);
puts(s);
return 0;
}
```
该代码通过遍历字符串,将空格替换为空字符,从而实现了删除字符串中的空格。
相关问题
c语言删除字符串空格指针
以下是一个简单的 C 语言函数,用于删除字符串中的空格。该函数使用指针来遍历字符串,删除所有空格并返回新的字符串。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* removeSpaces(char* str)
{
char* newStr = (char*)malloc(strlen(str) + 1);
char* p = newStr;
while (*str)
{
if (*str != ' ')
*p++ = *str;
str++;
}
*p = '\0';
return newStr;
}
int main()
{
char str[] = "This is a test string with spaces.";
printf("Original string: %s\n", str);
char* newStr = removeSpaces(str);
printf("New string: %s\n", newStr);
free(newStr);
return 0;
}
```
在上面的代码中,我们首先使用 `malloc` 函数来分配一个新的字符串。然后,我们使用一个指针 `p` 来遍历新字符串,并将非空格字符复制到新字符串中。最后,我们将 `'\0'` 添加到新字符串的末尾,以终止字符串。最后别忘了释放分配的内存。
c语言删除字符串中的空格
在C语言中,可以通过遍历字符串中的每一个字符,并判断字符是否为空格来删除字符串中的空格。
首先,我们需要定义一个新的字符串,用来存储删除空格后的结果。然后,使用一个循环来遍历原始字符串中的每一个字符。在循环中,判断当前字符是否为空格,如果不是空格,则将该字符添加到新的字符串中。最后,将新的字符串的末尾设置为字符串结束符号'\0',即完成了删除空格的操作。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
removeSpaces(str);
printf("删除空格后的字符串为:");
puts(str);
return 0;
}
```
在这个示例代码中,我们使用了C语言中的字符串处理函数`gets`和`puts`来读取和输出字符串。需要注意的是,`gets`函数在实际应用中存在一定的安全问题,所以在真实的代码中,建议使用安全的字符串输入函数(如`fgets`函数)来替代。
另外,这个示例代码只会删除空格,如果需要删除其他的空白字符(如制表符、换行符等),可以根据实际需求进行相应的修改。