I wrote the program below in order to read every line of the file and then store each line in a array of char pointers for later use (like sorting only the pointers not the real strings). But the problem is that it keeps storing the same line.
Lets say that the file is called file.txt and has two(2) lines with text.
first sentence
second sentence
The code I wrote is the following:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <unistd.h>
int main(){
FILE *cf;
cf = fopen("file.txt", "r");
char line[101];
char *lines[2];
char *eof;
int i=0;
while((eof = fgets(line, 101, cf)) != NULL){
lines[i] = eof;
i++;
}
printf("%s\n", lines[0]);
printf("%s\n", lines[1]);
system("pause");
return 0;
}
The output I get is:
second sentence
second sentence
But I want to get:
first sentence
second sentence
What I am doing wrong here?
-Thanks for your help :-)