1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em C

Discussão em 'Programação' iniciada por KingdomHearts, 15 de Novembro de 2012. (Respostas: 10; Visualizações: 774)

  1. KingdomHearts

    KingdomHearts Power Member

    Boas, preciso da vossa ajuda, ainda sou bastante fraco em C e empanquei aqui numa situação que não consigo resolver.

    O objectivo é fazer uma função que vai ler outro ficheiro onde se encontram dados dos utilizadores, e eu quero imprimir apenas alguns desses dados.

    O ficheiro que contem estes dados tem esta estrutura

    id:username: password:genero:ano:nome

    E eu queria imprimir só "id - username - genero - nome".

    O ficheiro principal tem um Typedef struct com a seguinte estrutura:

    typedef struct {
    int ID;
    char username[20];
    char password[20];
    char genero;
    int ano;
    char nome[50];
    } Tuser;

    Resumindo, o meu problema é como é que vou fazer para identificar que o id acaba nos ":", o username começa a seguir e também acaba em ":", etc...

    Obrigado desde já
     
  2. MoLt1eS

    MoLt1eS Power Member

    eu lembrome de ter feito algu parecido a usar flex e bison
    não me recordo se podes usar gramatica dentro do scanf e ler o que esta antes dos ':' uma questao de pesquisares :P
     
  3. xXRAFNXx

    xXRAFNXx Power Member

    O que tu queres não é um split a uma string?!

    Em c tens a strtok.

    Código:
    char * strtok ( char * str, const char * delimiters );
     
  4. KingdomHearts

    KingdomHearts Power Member

    Nem mais! Muito obrigado
     
  5. KingdomHearts

    KingdomHearts Power Member

    Estou com mais uma dúvida --'
    Não consigo me explicar sem mostrar o código portanto vou colocar aqui parte dele.

    Eu tenho estas estruturas, e dentro dessas estruturas tenho guardadas informações de outros ficheiros.

    Código:
    Já não é preciso.
    E eu quero que a partir de um ID de um utilizador, ele me de os repins (que é um pin atraves de outro utilizador) que fez. Que apareça algo como "O utilizador Zé fez um repin através do utilizador Manel"

    então eu fiz isto

    Código:
    Já não é preciso.
    
    
    O problema é que em vez de me tar "O utilizador Zé fez um repin através do utilizador Manel" dá me algo assim "O utilizador Zé fez um repin através do utilizador ▒S▒"
    Aparecem-me esses caracteres esquisitos :S

    Espero que tenham conseguido perceber :\ e que me possam ajudar!

    Muito obrigado!
     
    Última edição: 17 de Novembro de 2012
  6. dagas46

    dagas46 Power Member

    Inicializaste a variável nick?
     
  7. KingdomHearts

    KingdomHearts Power Member

    Não basta meter char nick[20]; ?
     
  8. mauro1855

    mauro1855 I'm cool cuz I Fold


    Isso é a declaração, mas depois não igualaste esse nick a nada. Conclusão, tem lá lixo dentro.
    Depois ao fazeres o strcpy, passaste esse lixo para dentro da tua estrutura.

    Cumps
     
  9. KingdomHearts

    KingdomHearts Power Member

    Então o que tenho que colocar?

    Obrigado desde já!
     
  10. mauro1855

    mauro1855 I'm cool cuz I Fold

    Isso pergunto-te a ti, o que é suposto o nick[20] ter lá dentro?

    Antes de fazeres o strcpy tens de atribuir um valor qualquer ao nick. O que vai ser isso depende daquilo que queres fazer.
    (Repara que esse strcpy está a copiar o nick para dentro do lista.users[v].username - de certeza que não querias fazer o contrário?)
    Cumps
     
    Última edição: 17 de Novembro de 2012
  11. KingdomHearts

    KingdomHearts Power Member

    Porra!! Horas e horas a olhar para o código e era trocar esses dois! -.-'''

    Muito obrigado! ;)
     

Partilhar esta Página