У меня есть файл с 3 строками, я пытаюсь прочитать этот файл и сохранить каждую строку в виде отдельной строки.вот что я пытался сделать, он сохраняет первую строку, но переопределяет ее, сохраняя первую и вторую строки, и я не могу понять, как сохранить каждую строку как отдельную строку, итакже я получаю сообщение об ошибке ->
* обнаружено разрушение стека *: /home/ubuntu/workspace/ex12.co прекращено Прервано
#include <stdio.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include<stdio.h>
#include<fcntl.h>
#include<errno.h>
#include <unistd.h>
extern int errno;
int main( int argc, char *argv[] ) {
char *path1;
char firstline[80];
char secondline[80];
char thirdline[80];
printf("Program name %s\n", argv[0]);
if( argc == 2 ) {
printf("The path of the config file that you supplied is %s\n", argv[1]);
}
else if( argc > 2 ) {
printf("Too many arguments supplied.\n");
}
else {
printf("One argument expected.\n");
}
int fd1 = open(argv[1], O_RDONLY | O_CREAT);
if (fd1 ==-1)
{
// print which type of error have in a code
printf("Error Number % d\n", errno);
// print program detail "Success or failure"
perror("Program");
exit(EXIT_FAILURE);
}
else {
char c;
int i=0;
while ((read(fd1, &c, 1) == 1) )
{
firstline[i++]=c;
if(c=='\n')
{
//printf("end of line");
printf("%s",firstline);
}
}
}
int close(int fd1);
return 0;
}
ПРИМЕЧАНИЕ: Я НЕ ХОЧУ использовать fopen, fgets, sscanf или getline.Любая помощь будет оценена