C语言如何去掉字符串中的换行符和回车符
时间: 2023-12-03 20:43:10 浏览: 723
在 C 语言中,可以使用字符串处理函数 `strcspn`、`strchr` 和 `strcpy` 来去掉字符串中的换行符和回车符。
具体步骤如下:
1. 使用 `strcspn` 函数找到字符串中第一个换行符或回车符的位置,它返回的是第一个匹配字符的位置。
2. 如果找到了换行符或回车符,则使用 `strcpy` 函数将该位置之后的字符全部复制到该位置,覆盖换行符或回车符。
3. 继续使用 `strcspn` 函数寻找下一个换行符或回车符的位置,直到字符串结束。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
void remove_newline(char str[]) {
char *pos;
while ((pos = strchr(str, '\n')) != NULL || (pos = strchr(str, '\r')) != NULL) {
strcpy(pos, pos+1);
}
}
int main() {
char str[100] = "Hello, world!\nThis is a test.\r\n";
printf("Before: %s", str);
remove_newline(str);
printf("After: %s", str);
return 0;
}
```
输出结果为:
```
Before: Hello, world!
This is a test.
After: Hello, world!This is a test.
```
阅读全文