如何删除字符串中的字,C语言
时间: 2024-12-21 14:22:03 浏览: 10
在C语言中,如果你想从字符串中删除特定字符或子串,你可以选择以下几种方法:
1. **使用`strncpy`函数**:这个函数可以将源字符串的一部分复制到目标字符串,同时忽略指定的字符。例如,要删除所有空格,可以这样做:
```c
char str[] = "Hello World!";
char result[strlen(str) - (strchr(str, ' ') != NULL ? 1 : 0)];
result[strcspn(result, " ")] = '\0'; // 结束字符串
```
这里,`strchr`查找第一个空格的位置,然后`strcspn`返回字符串中非空格字符的长度。
2. **遍历字符串并手动操作**:遍历整个字符串,对于每个字符检查是否需要删除,然后创建一个新的字符串。这种方法更底层,但控制力更强:
```c
char original[] = "Hello World!";
size_t len = strlen(original);
char newStr[len];
int i = 0;
while (original[i]) {
if (original[i] != ' ') {
newStr[i++] = original[i];
}
}
newStr[i] = '\0'; // 结束新字符串
```
阅读全文