Титла: Проблем със gcc компилатора във "С" Публикувано от: iHshar в Jan 04, 2015, 12:21 Здравеите, ползвам ubuntu 14.04 и съм със GCC компилатор. Програмирам под 'с'. Когато във кога поставя функцията gets(); компилатора ми дава грешка. Ето я и нея: test.c: In function ‘main’:
test.c:8:2: warning: ‘gets’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations] gets(str); ^ /tmp/cczj6WBW.o: In function `main': test.c:(.text+0x2e): warning: the `gets' function is dangerous and should not be used. Титла: Re: Проблем със gcc компилатора във "С" Публикувано от: neter в Jan 04, 2015, 13:36 Както си пише в съобщението за грешка, функцията gets() е отхвърлена, защото е опасна (може да предизвика препълване на буфера) и не трябва да се използва. Ползвай fgets():
Код: fgets(temp, sizeof(temp), stdin); Титла: Re: Проблем със gcc компилатора във "С" Публикувано от: iHshar в Jan 04, 2015, 17:02 Или да си сканирам стринговете със scanf("%s", str); на този етап ми върши работа
Титла: Re: Проблем със gcc компилатора във "С" Публикувано от: gat3way в Jan 04, 2015, 17:28 scanf("%s", str) създава точно същия проблем като gets(str) обаче компилаторът проявява странна дискриминация по отношение на едното.
|