在C語言中,可以使用循環遍歷字符串的每個字符,并判斷是否為空格來實現去掉空格的操作。以下是一個示例代碼:
#include <stdio.h>
#include <string.h>
void trim(char *str) {
int len = strlen(str);
int i = 0, j = 0;
// 去掉字符串開頭的空格
while (str[i] == ' ') {
i++;
}
// 移動非空格字符到字符串開頭
for (; i < len; i++) {
str[j++] = str[i];
}
// 將剩余部分置為'\0'
str[j] = '\0';
// 去掉字符串末尾的空格
len = strlen(str);
while (str[len-1] == ' ') {
str[--len] = '\0';
}
}
int main() {
char str[] = " hello world ";
trim(str);
printf("Trimmed string: '%s'\n", str); // 輸出:'hello world'
return 0;
}
該代碼首先通過一個循環去掉字符串開頭的空格,然后使用另一個循環將非空格字符向字符串開頭移動,最后通過在移動后的結束位置添加’\0’來截斷字符串并去掉末尾的空格。