用C语言删除空行(上一行)。
发布网友
发布时间:2024-08-07 05:03
我来回答
共4个回答
热心网友
时间:2024-08-11 06:59
#include <stdio.h>
#include <stdlib.h>//for function exit()
#include <string.h>//for functions strcpy() and strlen()
const int MAXSIZE = 200;//行最多字符数
int main() {
char line[MAXSIZE],pline[MAXSIZE];
FILE *inp;//被修改的磁盘文件
FILE *outp;//修改后的磁盘文件
char oldfile[] = "indata.txt";
char newfile[] = "outdata.txt";
if((inp = fopen(oldfile,"rt")) == NULL || (outp = fopen(newfile,"wt")) == NULL) {
printf("打开文件时出错!\n");
exit(1);
}
fscanf(inp,"%s",pline);
while(!feof(inp)) {
fscanf(inp,"%s",line);
if(strlen(line) >= 1) {//本行不是空行
fprintf(outp,"%s%s",pline,line);//上一行和本行被全部写入新文件
}
else {//本行是空行
fprintf(outp,"%s",line);//仅写入本行,上一行被丢弃
}
strcpy(pline,line);// 当前行变成了上一行
}
fclose(inp);
fclose(outp);
return 0;
}
热心网友
时间:2024-08-11 06:51
额
热心网友
时间:2024-08-11 06:57
厉鬼勾魂,无常索命
热心网友
时间:2024-08-11 06:54
没太理解你的问题
如果是字符串那删掉第一个\n就行了
如果是控制台\r可以覆盖本行
如果想实现看上去像删除的效果
可以\r接很多个\t
如果删除多行控制台有清屏操作
但是单独真正删除一行的方法我不清楚,我记得\b是不行的