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

Ler Strings de Ficheiros em C

Discussão em 'Programação' iniciada por MACkie, 15 de Julho de 2008. (Respostas: 19; Visualizações: 2635)

Estado do Tópico:
Fechado a novas mensagens.
  1. MACkie

    MACkie [email protected] Member

    Boas,

    Preciso de saber qual a alma caridosa e conhecedora de Cê que me vai explicar como é que eu faço um "bloco de código" para que leia duas strings de um ficheiro. Para username e palavra passe.

    Outros métodos aceitam-se.

    Cumprimentos,
    MACkie
     
  2. MACkie

    MACkie [email protected] Member

    Mas para verificar um valor especifico: comparando a sql, fazer algo parecido a "select password from login where username=$username"...

    Ando aqui ás voltas com isto... :X

    Cumps
     
  3. Baderous

    Baderous Banido

    Primeiro precisas de saber como estão dispostas as strings no ficheiro (se estão na mesma linha ou em linhas diferentes, se estão separadas por algum caracter, etc). Caso estejam na mesma linha, lês com a função fgets e depois tens de fazer parsing da string lida, retirando dela as 2 strings (username e password), guardando em 2 variáveis. Essas 2 variáveis vão então ser comparadas com o username e password introduzidos pelo user.
     
  4. MACkie

    MACkie [email protected] Member


    O interessante é que eu não percebo um cú de C... isto é para ser executado tanto em linux como em windows, mas o servidor é linux, logo os ficheiros de username e password tem que tar no servidor...

    Ando ás aranhas, não queria chumbar a Sistemas (IN)Operativos :x

    Cumps
     
  5. Baderous

    Baderous Banido

    Mas sabes como estão organizadas as credenciais nos ficheiros?
    Fazer SO sem saber C = serious business.
     
  6. Evil_Tidus

    Evil_Tidus Power Member

    epa tens de saber exactamente como está estruturado o ficheirode informação, se fores tu a escrever podes formata-lo com o fprintf e ler esse mesmo texto formatado com o fscanf
     
  7. MACkie

    MACkie [email protected] Member

    É triste mas... aqui na minha escola é Java, Java e mais Java... :S

    A única vez que se dá C é em Linguagens de Programação em que, durante 4 meses ±, dás C, C++, C# e Python...

    Enfim...

    Se passar a SO pago uma rodada ao ppl da techzone :D LOL

    Cumps
     
  8. The_True_Eue

    The_True_Eue Power Member

    Queres código?
    Código:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    char* getPassword(FILE* file, char* username)
    {
        char current[21];
        char* password = (char*) malloc(101 * sizeof(char));
        int read;
        do {
            read = fscanf(file, "%20s %100[^\n]", current, password);
        } while(read > 0 && strcmp(current, username) != 0);
        if(read > 0)
        {
            return password;
        }
        else
        {
            free(password);
            return NULL;
        }
    }
    
    Suposições:

    1. Existe um utilizador por linha.
    2. O nome de utilizador não contém whitespace e é a primeira palavra da linha.
    3. A password vem na mesma linha do nome de utilizador, sendo estes separados por whitespace.
    4. O ficheiro está aberto para leitura e no início.
    5. O nome do utilizador tem no máximo 20 caracteres e a password 100.
    Espero que ajude.
     
    Última edição: 16 de Julho de 2008
  9. MACkie

    MACkie [email protected] Member

    Até te dava um beijinho, mas ficamo-nos pela cerveja :P

    Cumps e MUITISSIMO OBRIGADO :D
    MACkie
     
  10. The_True_Eue

    The_True_Eue Power Member

    Always glad to help!
    Mas sou abstémio, por isso fico pelos cumps e pelo obrigado.:009:
     
  11. Muito obrigado malta era mesmo disto que andava a
    à procura.

    aquele armando "sem cabo" ..........lol lol lol

    Cumprimentos

    Resnick
     
  12. MACkie

    MACkie [email protected] Member

    Ya mesmo serious business. Mas passei e continuo a não saber C :lol:

    LOL

    vou tratar de aprender nas férias com um C for Dummies

    cumps,
    MACkie
     
  13. z80

    z80 Power Member

    é simples, começas no "Hello, World." e nunca mais páras!
    C programming ftw :)
     
  14. Goncalo Silva

    Goncalo Silva Power Member

    Tens toda a razão. C é a base. Acho estranho dominares Java sem teres começado com C, deve-te ter custado um pouco... eu, por cá, para coisas simples uso sempre C. Quando são projectos grandes/complexo é que escolho a linguagem mais apropriada.

    Ainda bem que te safaste. Boa sorte com essa aprendizagem!
     
  15. banid0

    banid0 Power Member

    Q4T!!

    A cena fixe do C, é que podes fazer ponte para mais alto nível (tipo VB, uma vez que C será médio nivel -> apontadores) , ou podes fazer a ponte para mais baixo nível -> assembly

    C é mesmo serious business
     
  16. MACkie

    MACkie [email protected] Member

    Na minha escola ensina-se Java ás "crianças"... A programação C é dada com mais 2 ou 3 linguagens num único semestre e na mesma disciplina... Parece que o Java é que tá a dar...

    Cumps,
    MACkie

    PS: Já tou a aprender C# :x
     
  17. banid0

    banid0 Power Member

    Eu quando entrei na UA, dava-se pascal @ P1 e C @ P2... agora dá-se java nas duas...não concordo, visto que quando o pessoal chega a Arquitectura de Computadores, tem que dar C e assembly ao mesmo tempo, quando o C e apontadores e afins já deviam estar cimentados na cabeça à muito.
     
  18. O problema já está resolvido e a discussão começa a entrar em off-topic, portanto :iconlock:.
     
Estado do Tópico:
Fechado a novas mensagens.

Partilhar esta Página