在C语言中,要在没有内存泄漏的情况下删除字符串中的前导/尾随空格,可以按照以下步骤进行操作:
下面是一个示例代码:
#include <stdio.h>
#include <string.h>
void removeLeadingTrailingSpaces(char* str) {
int i, j;
int n = strlen(str);
// Remove leading spaces
i = 0;
while (str[i] == ' ') {
i++;
}
// Shift characters to the left
int k = 0;
for (j = i; j < n; j++) {
str[k++] = str[j];
}
str[k] = '\0';
// Remove trailing spaces
n = strlen(str);
i = n - 1;
while (str[i] == ' ') {
str[i] = '\0';
i--;
}
}
int main() {
char str[] = " Hello, World! ";
printf("Before: '%s'\n", str);
removeLeadingTrailingSpaces(str);
printf("After: '%s'\n", str);
return 0;
}
这段代码会输出:
Before: ' Hello, World! '
After: 'Hello, World!'
这样就成功地删除了字符串中的前导/尾随空格。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云