#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void deleteLine(FILE *fp, FILE *fptmp, const int lineNo) {
char s[100];
int i = 1;
while ((fgets(s, 100, fp)) != NULL) {
if (i != lineNo)
fputs(s, fptmp);
i++;
}
}
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";
char filetmp[100] = "d:\\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);
}
readFile(file);
int lineNo = 2;
deleteLine(fp, fptmp, lineNo);
fclose(fp);
fclose(fptmp);
remove(file);
rename(filetmp, file);
puts("\n");
readFile(file);
return 0;
}
/*
run:
c c++ c#
java python
javascript php
c c++ c#
javascript php
*/