c语言删去行尾多余空格程序
时间: 2024-11-27 17:22:53 浏览: 23
在C语言中,删除文件行尾多余的空格可以借助一些基本的输入输出操作和字符串处理函数。下面是一个简单的示例程序,它读取文件内容,处理每一行并将其写回文件,移除行尾的多余空格:
```c
#include <stdio.h>
#include <ctype.h> // 使用isspace()检查是否为空格
void remove_trailing_spaces(char *line) {
int i = strlen(line) - 1; // 从字符串末尾开始遍历
while (i > 0 && isspace(line[i])) { // 只有当字符是空格时才处理
line[i] = '\0'; // 将空格替换为结束符
i--;
}
}
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s <input_file> <output_file>\n", argv[0]);
return 1;
}
FILE *fin = fopen(argv[1], "r");
if (!fin) {
perror("Error opening input file");
return 1;
}
FILE *fout = fopen(argv[2], "w");
if (!fout) {
perror("Error creating output file");
fclose(fin);
return 1;
}
char line[BUFSIZ]; // 用于临时存储行
while (fgets(line, sizeof(line), fin)) {
remove_trailing_spaces(line); // 删除行尾空格
fprintf(fout, "%s\n", line); // 写回文件
}
fclose(fin);
fclose(fout);
return 0;
}
```
阅读全文