c语言从一行输入的数据中去掉空格
时间: 2024-02-12 12:09:26 浏览: 27
可以使用 C 语言中的字符串处理函数 `strcpy` 和 `strcat` 来实现去除空格的操作,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一行字符串:");
fgets(str, 100, stdin);
int i, j = 0;
char newStr[100];
for (i = 0; i < strlen(str); i++) {
if (str[i] != ' ') {
newStr[j++] = str[i];
}
}
newStr[j] = '\0';
printf("去掉空格后的字符串为:%s\n", newStr);
return 0;
}
```
以上代码中,先使用 `fgets` 函数从标准输入中读取一行字符串,然后遍历字符串的每个字符,如果该字符不是空格,则将其添加到新的字符串 `newStr` 中,最后在字符串末尾添加一个结束符 `\0` 以表示字符串的结束。
相关问题
用c语言怎样去掉键盘输入中的空格
在C语言中,可以使用scanf函数读取键盘输入,并使用%s格式指示符读取字符串。scanf函数在读取字符串时会自动忽略前面的空格,并在遇到第一个非空格字符后停止读取。
如果需要在读取字符串时完全去除所有空格,可以使用以下代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, j = 0;
printf("Enter a string: ");
scanf("%[^\n]", str);
for (i = 0; str[i] != '\0'; i++) {
if (!isspace(str[i])) {
str[j++] = str[i];
}
}
str[j] = '\0';
printf("String without spaces: %s\n", str);
return 0;
}
```
在上面的代码中,scanf函数使用%[^\n]格式指示符读取整个输入行,包括空格。然后使用isspace函数判断每个字符是否为空格,如果不是则将其复制到另一个字符串中。最后在新字符串的末尾添加\0字符,表示字符串的结束。
C语言 读取 一行 TXT 取消 空格
要在C语言中读取一行TXT文件并取消空格,你可以使用fgets函数和字符串处理函数。首先使用fgets函数读取整行字符串,然后使用字符串处理函数去掉字符串中的空格。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char str[100], trimmed_str[100];
fp = fopen("file.txt", "r");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
if (fgets(str, 100, fp) != NULL) {
// 去掉字符串中的空格
int j = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] != ' ') {
trimmed_str[j++] = str[i];
}
}
trimmed_str[j] = '\0'; // 字符串结尾必须加上'\0'
printf("Read line: %s\n", str);
printf("Trimmed line: %s\n", trimmed_str);
}
fclose(fp);
return 0;
}
```
在上面的示例中,我们使用了一个循环遍历字符串中的每个字符,如果字符不是空格,则将其添加到一个新的字符串中。最后,我们在新的字符串末尾添加了一个空字符'\0',并输出了原始字符串和去掉空格后的字符串。