str=str.Replace(" ","")//先清除空格。
str=str.Replace("\r\n\r\n","\r\n")//再清除空行,原理:空行是连续的
//回车。但碰到连续两个空行只能清除一个,所以需要再来一次。
str=str.Replace("\r\n\r\n","\r\n")
如果要写简单一点就是:
str=str.Replace(" ","").Replace("\r\n\r\n","\r\n")Replace("\r\n\r\n","\r\n")
你可以做一个多行的TextBox来试验一下~~
#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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)