c语言怎么在字符串前后加空格
时间: 2024-10-15 21:11:27 浏览: 57
在C语言中,如果你想在字符串前后添加空格,可以先分配一个新的内存空间来存储结果字符串,然后分别追加空格字符和原始字符串。以下是简单的步骤:
1. 定义新的字符串变量来存放结果,假设原始字符串是`str`,新的长度加上两个空格的长度是`new_len`。
```c
char result[new_len + strlen(str) + 2]; // 空格占1,所以加2
```
2. 将前导空格追加到`result`中。
```c
result[0] = ' '; // 前面加空格
result[1] = '\0'; // 结尾留位给原始字符串
```
3. 添加原始字符串到结果中,并在其后面追加一个空格。
```c
strcpy(result + 2, str); // 将原始字符串复制到从第三个位置开始的位置
result[strlen(str) + 2] = ' '; // 原始字符串后面加空格
```
4. 最后,确保字符串以结尾的空格结束。
```c
result[strlen(str) + 3] = '\0'; // 结束符
```
完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello"; // 假设原始字符串
int new_len = strlen(str) + 2; // 总长度
char result[new_len];
result[0] = ' ';
result[1] = '\0';
strcpy(result + 2, str);
result[strlen(str) + 2] = ' ';
result[strlen(str) + 3] = '\0';
printf("String with spaces: %s\n", result);
return 0;
}
阅读全文