#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isEmpty(const char* s) {
char ch = "";
do {
ch = *(s++);
if (ch != ' ' && ch != '\t' && ch != '\n' && ch != '\r' && ch != '\0')
return 0;
} while (ch != '\0');
return 1;
}
void removeEmptyLines(char file[]) {
char filetmp[32] = "tmp.txt";
FILE* fp = fopen(file, "r");
FILE* fptmp = fopen(filetmp, "w");
if (fp == NULL || fptmp == NULL) {
printf("Error open file\n");
exit(EXIT_FAILURE);
}
char s[100];
int i = 1;
while ((fgets(s, 100, fp)) != NULL) {
if (!isEmpty(s))
fputs(s, fptmp);
i++;
}
fclose(fp);
fclose(fptmp);
remove(file);
rename(filetmp, file);
}
void readFile(char file[]) {
FILE* fp = fopen(file, "r");
char ch;
while ((ch = fgetc(fp)) != EOF)
putchar(ch);
fclose(fp);
}
int main()
{
char file[100] = "d:\\data.txt";
readFile(file);
removeEmptyLines(file);
puts("\n--------------");
readFile(file);
return 0;
}
/*
run:
c c++ c#
java python
javascript php
--------------
c c++ c#
java python
javascript php
*/