0
I wonder why when running the script below, the lines appear spaced, except for the first line.
Input
Linha1
Linha2
Linha3
Linha4
Expected output
Produtos:
- Linha3
- Linha4
- Linha2
- Linha1
Output obtained
Produtos:
- Linha1-Linha 2
- Linha3
- Linha4
Code
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct linha {
char *produtos;
struct linha *prev;
} linha;
FILE *file;
int main() {
linha *tail = NULL;
file = fopen("text.txt","r");
char linha1[255];
while (fgets(linha1,255,file)!=NULL) {
linha *l1 = malloc(sizeof(linha));
l1->produtos = malloc(strlen(linha1)+1);
strcpy(l1->produtos,linha1);
l1->prev = tail;
tail = l1;
}
linha *current;
current = tail;
printf("Produtos:\n");
while (current != NULL) {
printf("- %s",current->produtos);
current = current->prev;
}
return 0;
}
Because the expected output is
3,4,2,1
and not4,3,2,1
?– Isac