Hallo ich lerne zur Zeit C und ich wollte folgenden Code übersetzen:
und bekomme diese Fehlermeldung:
Ich weiß, dass die Funktion getline nicht zu ANSI C gehört. Aber bei dem gcc dachte ich, dass die dabei sei. Oder ist der Syntax von getline falsch:
Ich verwende FreeBSD 5.4-STABLE und den gcc in version 3.4.2.
Kann mit bitte jemand helfen, danke.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#define _GNU_SOURCE
int main(void)
{
FILE *fd;
char *stream = ".test.txt";
int nRet;
size_t *t = malloc(0);
char **gptr = (char **)malloc(sizeof(char*));
*gptr = NULL;
if( (fd = fopen(stream, "r")) == NULL )
{
fprintf(stderr, "\nKonnte Datei %s nicht öffnen!", stream);
return EXIT_FAILURE;
}
while( (nRet = getline(gptr, t, fd)) > 0 )
fputs(*gptr, stdout);
return EXIT_SUCCESS;
}
und bekomme diese Fehlermeldung:
Code:
gcc -o getline getline.c
/var/tmp//cchZWZ5b.o(.text+0x97): In function `main':
: undefined reference to `getline'
Ich weiß, dass die Funktion getline nicht zu ANSI C gehört. Aber bei dem gcc dachte ich, dass die dabei sei. Oder ist der Syntax von getline falsch:
Code:
ssize_t getline (char **lineptr, size_t *n, FILE *stream);
Ich verwende FreeBSD 5.4-STABLE und den gcc in version 3.4.2.
Kann mit bitte jemand helfen, danke.