在C语言中,可以使用以下几种方法来去除字符串中的空格:
strtok
函数分割字符串并重新拼接:#include<stdio.h>
#include<string.h>
void remove_spaces(char *str) {
char result[256];
char *token;
strcpy(result, "");
token = strtok(str, " ");
while (token != NULL) {
strcat(result, token);
token = strtok(NULL, " ");
}
strcpy(str, result);
}
int main() {
char str[] = "Hello World!";
printf("Before: %s\n", str);
remove_spaces(str);
printf("After: %s\n", str);
return 0;
}
#include<stdio.h>
#include<string.h>
void remove_spaces(char *str) {
int i, j = 0;
int length = strlen(str);
for (i = 0; i< length; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = "Hello World!";
printf("Before: %s\n", str);
remove_spaces(str);
printf("After: %s\n", str);
return 0;
}
sscanf
函数读取非空格字符:#include<stdio.h>
#include<string.h>
void remove_spaces(char *str) {
char result[256];
int i = 0;
while (sscanf(str, "%*s%n", &i) == 0) {
str += i;
strcat(result, str);
}
strcpy(str, result);
}
int main() {
char str[] = "Hello World!";
printf("Before: %s\n", str);
remove_spaces(str);
printf("After: %s\n", str);
return 0;
}
这些方法都可以实现去除字符串中的空格。你可以根据自己的需求选择合适的方法。注意,这些方法会修改原始字符串,如果需要保留原始字符串,请先复制一份再进行操作。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。