C - gets() em mac osx

JoaoRamalho

Power Member
boas

instalei o xcode no macbook e agora kuando tava a programar utilizei a funcao fgets() em altenatica á fscanf k so le uma palavra, mas agora tenho um problema, kuando vou a correr o programa aparece o seguinte warning:

warning: this program uses gets(), which is unsafe.

compilei com o comando

gcc -g -ansi -Wall -pedantic prog.c -o prog

ja andei no google e encontrei k se usasse o -Wall o warning ja n aparecia, mas continua a aparecer

ajuda sff

cumps
 
boas

instalei o xcode no macbook e agora kuando tava a programar utilizei a funcao fgets() em altenatica á fscanf k so le uma palavra, mas agora tenho um problema, kuando vou a correr o programa aparece o seguinte warning:

warning: this program uses gets(), which is unsafe.

compilei com o comando

gcc -g -ansi -Wall -pedantic prog.c -o prog

ja andei no google e encontrei k se usasse o -Wall o warning ja n aparecia, mas continua a aparecer

ajuda sff

cumps

Usa fgets em vez de gets.
 
Exactamente, usa o fgets. Tens é de ter em conta que vais ter de meter mais 1 parâmetro na função que é o stdin (em vez de um ficheiro, a função lê do standard input).
 
Tens de meter mais 2, porque tens de definir também o número de caracteres a serem lidos.
exemplo: fgets ( variavel, 99, stdin)
cumpzz
 
boas

instalei o xcode no macbook e agora kuando tava a programar utilizei a funcao fgets() em altenatica á fscanf k so le uma palavra, mas agora tenho um problema, kuando vou a correr o programa aparece o seguinte warning:

warning: this program uses gets(), which is unsafe.

compilei com o comando

gcc -g -ansi -Wall -pedantic prog.c -o prog

ja andei no google e encontrei k se usasse o -Wall o warning ja n aparecia, mas continua a aparecer

ajuda sff

cumps

Eis outra alternativa:
Código:
char str[40];
scanf("%[^\n]", str);

Cumps :)
 
Back
Topo