On Wed, Apr 28, 2004 at 06:18:59PM +0700, php-coder wrote: > --- quest.c --- > #include <stdio.h> > #include <stdlib.h> > int main(int argc, char **argv) > { > void func() > { > char *p; > size_t n=30; > p=(char *)malloc(n); > getline(p, &n, stdin); > printf("Вы ввели: %s\n", *p); > free(p); > } > func(); > return 0; > } > --- E O F --- > > Компилирую: > > [EMAIL PROTECTED] test2]$ gcc quest.c -o quest -g -Wall -ansi -pedantic > quest.c: In function `main': > quest.c:6: warning: ANSI C forbids nested functions > quest.c: In function `func': > quest.c:10: warning: implicit declaration of function `getline' > quest.c:11: warning: format argument is not a pointer (arg 2) > > Почему он жалуется на то, что не объявлена ф-ция, если она в stdio.h > должна быть
Её не должно быть в stdio.h. Это GNU-extension. Ты забыл сделать #define _GNU_SOURCE К тому же у тебя ошибка: и первый, и второй аргументы --- это возвращаемые значения, поэтому они являются указателями. Надо сделать так: getline(&p, &n, stdin); > и что ему не нравится во втором аргументе? Тут тоже ошибка: printf("Вы ввели: %s\n", p); -- Andrey V. Kiselev Home phone: +7 812 5274898 ICQ# 26871517