C语言将一段字符串中的\n\t去掉
时间: 2023-11-12 08:05:12 浏览: 32
可以使用字符串处理函数,如下所示:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,\n\tworld!\n";
char new_str[100];
int i, j;
for (i = 0, j = 0; i < strlen(str); i++) {
if (str[i] != '\n' && str[i] != '\t') {
new_str[j++] = str[i];
}
}
new_str[j] = '\0';
printf("Original string: %s\n", str);
printf("Modified string: %s\n", new_str);
return 0;
}
```
输出:
```
Original string: Hello,
world!
Modified string: Hello,world!
```
在上面的示例中,我们使用了两个变量i和j,其中i用于遍历原始字符串中的每个字符,而j用于跟踪新字符串中的字符位置。当我们遍历原始字符串时,如果遇到\n或\t字符,则跳过该字符,否则将其添加到新字符串中。最后,我们在新字符串的末尾添加一个空字符,以将其转换为完整的C字符串。
相关问题
C语言写一段字符串中的\n\t去掉的函数
以下是一段实现字符串中去掉\n\t的C语言函数代码:
```c
void remove_newline_tab(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != '\n' && str[i] != '\t') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
该函数接收一个字符串指针作为参数,遍历字符串,将不是\n和\t的字符复制到另一个位置。最后,将新位置末尾设置为'\0',从而确保字符串正确终止。
示例:
```c
#include <stdio.h>
void remove_newline_tab(char *str);
int main() {
char str[] = "Hello\tWorld\n";
printf("Before: %s\n", str);
remove_newline_tab(str);
printf("After: %s\n", str);
return 0;
}
void remove_newline_tab(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != '\n' && str[i] != '\t') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
输出:
```
Before: Hello World
After: HelloWorld
```
C语言中将两个字符串合并并去除空格
可以使用以下代码将两个字符串合并并去除空格:
```c
#include <stdio.h>
#include <string.h>
void merge_and_remove_spaces(char *dest, const char *str1, const char *str2) {
// 将 str1 和 str2 拼接成一个字符串
strcpy(dest, str1);
strcat(dest, str2);
// 去除空格
int i, j;
for (i = 0, j = 0; dest[i]; i++) {
if (dest[i] != ' ') {
dest[j++] = dest[i];
}
}
dest[j] = '\0';
}
int main() {
char str1[100] = "Hello, ";
char str2[100] = "world! How are you?";
char dest[200];
merge_and_remove_spaces(dest, str1, str2);
printf("%s", dest);
return 0;
}
```
这段代码先将 str1 和 str2 拼接成一个字符串,然后遍历这个字符串,将非空格字符复制到另一个位置。最后在新字符串的末尾加上一个字符串结束符 '\0'。