Re: getline
On Wed, Apr 28, 2004 at 06:18:59PM +0700, php-coder wrote: > --- quest.c --- > #include > #include > 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
Re: getline
Wed, Apr 28, 2004 at 06:18:59PM +0700, you(php-coder) wrote: > Компилирую: > > [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 > должна быть и что ему не нравится во втором аргументе? man getline: SYNOPSIS #define _GNU_SOURCE #include Добавь #define _GNU_SOURCE Может поможет. > Прошу у вас помощи. Понимаю, что это не совсем по теме, но где > спросить не знаю. Заранее благодарю за помощь! -- Burchu Sergey.
Re: getline
On Wednesday 28 April 2004 15:18, php-coder wrote: ph> 10010100100100101::28.04.2004::011000100100100010000100010 ph> ph> Привет, Linuxоиды! ph> ph> Есть простенькая программа: ph> --- E O F --- ph> ph> Компилирую: ph> ph> [EMAIL PROTECTED] test2]$ gcc quest.c -o quest -g -Wall -ansi -pedantic ph> quest.c: In function `main': ph> quest.c:6: warning: ANSI C forbids nested functions ANSI C запрещает вложенные функции. Функцию нельзя объявлять внутри main()
getline
10010100100100101::28.04.2004::011000100100100010000100010 Привет, Linuxоиды! Есть простенькая программа: --- quest.c --- #include #include 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 должна быть и что ему не нравится во втором аргументе? Прошу у вас помощи. Понимаю, что это не совсем по теме, но где спросить не знаю. Заранее благодарю за помощь! -- С уважением, php-coder (mailto:php-coder[at]ngs[dot]ru) Registered Linux User #327594 Debian 3.0 r2 (kernel 2.4.26) 010010010010010001010101100::Linux RuleZz!::10001001000100010001000111