C语言中,去除字符串里面的空格的API函数
时间: 2024-10-10 15:11:02 浏览: 51
在C语言中,去除字符串首尾空格通常不直接有一个预定义的API函数,但可以通过自定义函数来实现。这里有两个常见的方法:
1. 使用`strtok()`函数[^1]:
```c
#include <stdio.h>
#include <string.h>
void trim(char *str) {
char *token;
token = strtok(str, " \t\n"); // 分割符可以设置为空格、制表符或换行符
while (token != NULL) {
strcat(str, token); // 逐个添加非空格字符到原字符串
token = strtok(NULL, " \t\n");
}
}
// 示例用法
int main() {
char str[] = " Hello World! ";
trim(str);
printf("%s", str); // 输出: "Hello World!"
return 0;
}
```
2. 手动遍历字符串[^2]:
```c
void trim_manual(char *str) {
int i, len;
len = strlen(str);
if (len > 0 && str[len - 1] == ' ') str[--len] = '\0'; // 移除尾部空格
for (i = 0; i < len; ++i) {
if (str[i] == ' ' || str[i] == '\t' || str[i] == '\n') str[i] = '\0'; // 去除连续空格
}
if (str[0] == ' ') str[0] = '\0'; // 移除开头空格
}
// 示例用法同上
```
以上两种方法都可以帮助你去除C语言字符串中的空格。
阅读全文