Página 2 de 4 PrimeiroPrimeiro 1234 ÚltimoÚltimo
+ Responder ao Tópico



  1. No Livro C Completo e Total tem um bom exemplo de listas duplamentes encadeadas. De uma olhada nele.

  2. #7
    c0deks
    pow vlw mesmo, eh bom saber que a gende dacomunidade linux sempre tem alguem com quem contar quando não souber mais oq fazer, vou tentar fazer algumas alterações aki, quando a função listar, oq eu gostaria mesmo de fazer era um menu de navegação entre os contatos, se eu fazer soh com a opção de avançar, vai dah certo, eu jah fiz assim, mais assim eu num quero naum...vo raxa a cuca aki pra tenta acha um jeito, outra coisa, onde eu acho o livro C Completo e Total, só comprando???



  3. #8
    c0deks
    a2gs, suas dicas foram muito uteis, corrigi os problemas que você mencionou, mas mesmo assim continua naum funcionando, eu num sei mais oq fazer...

  4. 1. Re-faça seu código, utilizando protótipos para as funções.
    2. Não invoque a função main de qualquer parte do seu código, isto é errado. Crie outra função com a mesma finalidade, assim poderá chamá-la de qualquer outra função do escopo global do mesmo arquivo fonte.
    3. Tente utilizar parâmetros nas funções para interação, e não variáveis globais.
    4. Evite utilizar keywords conhecidas (null) para nomear variáveis, mesmo que seja com case diferente.
    5. Utilize uma indentação de no mínimo 4 espacos (ou 1 tab) para cada escopo.
    6. Evite utilizar funções sujeitas a overflows (strcat, sprintf, strcpy), sempre há outra função correspondente, com checagem de tamanho (strncat, snprintf, strncpy), ou então, crie você mesmo.
    7. Invocar funções para execução de programas externos no sistema (system, exec**, etc) não é seguro.
    8. Antes de finalizar a aplicação você deve liberar a memória alocada no HEAP (alocações feitas com malloc).
    9. A função main deve ser declarada conforme a convenção padrão da linguagem (ela sempre deve retornar um valor int).



  5. Se você está ingressando nesse mundo, tente fazer aplicações um pouco mais simples para entender o porque de não utilizar system(), sprintf, strcat, strcpy, etc.
    Entenda como funcionam valores passados como parâmetros e os valores de retorno das funções.
    Dominando isto, você fará essa aplicação parecer muito fácil, e quem olhar seu código, provavelmente vai entender sem perder horas.

    Outra coisa que vi:
    Código :
    char value[255];
    printf("%s", pergunta);
    scanf("%s", value);
    if(strlen(value) > tam)

    este if não vai ajudar em nada, se alguém digitar 600 caracteres, o programa irá sobrescrever parte de si mesmo, pois a função scanf não limita o buffer de leitura (entrada) que será armazenado na variável, logo, posso digitar 600 caracteres, assim o programa tentará salvar o que eu digitei na variável onde só cabem 255, isto vai gerar um buffer-overflow, ou seja, seu programa está com uma falha de segurança crítica e fácil de explorar.






Tópicos Similares

  1. Respostas: 13
    Último Post: 05-06-2012, 17:32
  2. Samba com funções do AD
    Por l4serma no fórum Servidores de Rede
    Respostas: 2
    Último Post: 07-04-2007, 15:55
  3. Webmail com funções iguais do Microsoft Outlook 2003
    Por Diego Fucitalo no fórum Servidores de Rede
    Respostas: 4
    Último Post: 10-07-2005, 18:56
  4. Estruturas com funcoes em C
    Por SDM no fórum Linguagens de Programação
    Respostas: 13
    Último Post: 18-06-2004, 14:53
  5. SUPRESA - Telefonica com suporte a linux
    Por epf no fórum Assuntos não relacionados
    Respostas: 5
    Último Post: 20-05-2004, 19:15

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L