Postado 10 de outubro de 201411 anos comment_979946 Boa noite, pessoal! Estou aprendendo a programar em C e usando o Xcode como compilador. Acontece que quando uso a função gets pra armazenar uma string, o Xcode exibe no console uma mensagem de erro (warning: this program uses gets(), which is unsafe.) e não deixa armazenar a string. Outros compiladores que já usei no Linux, como o Geany, alertam que gets é "unsafe", mas deixam utilizá-la... E aí, algum expert em C sabe como liberar a função gets no xcode? Obrigado! Denunciar
Postado 4 de dezembro de 201411 anos comment_1031534 Você tá incluindo a biblioteca STRING.H (#include <string.h>) ? Faz assim: 1- Insere a biblioteca certinho. 2- Ao invés de compilar pelo Xcode, abre o terminal e digita o seguinte (vou chamar meu programa de "código", mas coloca o nome do seu aí): gcc codigo.c -o codigo [dá enter - nesse comando, o terminal vai compilar o seu programa. Se tiver algum erro, ele alerta e mostra o erro] ./codigo [enter de noto - aqui ele vai rodar o seu código assim que estiver OK] Caso ele apresente algum WARNING assim que você compilar o código, se você tentar rodar, ele vai dar erro. Mas se aparecer algum ERROR ele até que roda. Editado 4 de dezembro de 201411 anos por Matheus Pedrosa_10291 Denunciar
Postado 5 de dezembro de 201411 anos comment_1032174 - Warning e Error são coisas distintas. - gets() não pertence a string.h. Para pegar uma string com espaços em branco, uma alternativa é usar fgets. Ficaria fgets(string, tamanho, stdin) char nome[30]; printf("Digita um nome: "); fgets(nome, 30, stdin); Atente para uma peculiaridade do fgets: quando digita enter no final, a função captura esse código de nova linha. Denunciar
Postado 27 de outubro de 20178 anos comment_1163402 Estou tento o mesmo problema quando uso Gets (), para ler um String estou adicionando as bibliotecas <stdlib.h><stdio.h><string.h><strings.h>, não esta rodando . eu gostaria de usar o compilador Xcode pois ja me acostumei com ele . mais primeira vez q estou pegando esse tipo de problema na varialvel. this program uses gets() which is unsafe Denunciar
Postado 28 de outubro de 20178 anos comment_1163494 10 horas atrás, William Amaral disse: Estou tento o mesmo problema quando uso Gets (), para ler um String estou adicionando as bibliotecas <stdlib.h><stdio.h><string.h><strings.h>, não esta rodando . eu gostaria de usar o compilador Xcode pois ja me acostumei com ele . mais primeira vez q estou pegando esse tipo de problema na varialvel. this program uses gets() which is unsafe Evitar o gets() é considerado boa prática em C, há motivos para isso ( o próprio compilador avisa que não é seguro). Use alternativas, como o fgets. Denunciar
Postado 28 de outubro de 20178 anos comment_1163507 8 horas atrás, Maddo Garan disse: Evitar o gets() é considerado boa prática em C, há motivos para isso ( o próprio compilador avisa que não é seguro). Use alternativas, como o fgets. Fgets tambem nao esta rodando. Denunciar
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.