Ir para conteúdo
Fórum Script Brasil
  • 0

Abrir Um Ficheiro


Guest duarte

Pergunta

oi pessoal

estou atentar fazer um programa que abra um ficheiro e leia as variaveis e as guarde numa estrutura mas quando cheguei à parte de abrir surgiu-me um problema,só abre com sucesso se por a extensão do ficheiro(netlist.txt)e ao abrir osurge um erro.já tentei mudar a extensão do ficheiro para txt mas também não dá.deêm uma olhada ao já fiz e digam alguma coisa.....

#include<stdio.h>

#include<stdlib.h>

struct netlist

{

char tipo_de_componente[2];

char referencia;

int no1;

int no2;

int valor1;

int valor2;

struct pessoa *next; /* ponteiro da prox entrada */

struct pessoa *prior; /* ponteiro p/ entrada anterior */

} lista;

struct pessoa *start; /* primeiro da lista */

struct pessoa *last; /* ultimo da lista */

struct pessoa *null;

int strcmp(char *s1 ,char *s2)

{

int i=0;

while (s1==s2 &&s1!='\0')

i++;

return((unsigned char)s1 - (unsigned char) s2);

}

main()

{

abertura_ficheiro();

}

abertura_ficheiro()

{

struct netlist *equa;

char tipo_de_componente[2];

char referencia;

int no1;

int no2;

int valor1;

int valor2;

char nome_ficheiro[10];

FILE *fp;

printf("Insira o nome do ficheiro ou insira sair para fechar programa\n");

gets(nome_ficheiro);

if(strcmp(nome_ficheiro,"sair")==0)

exit(0);

else

/*abrir o ficheiro*/

fp = fopen(nome_ficheiro,"r");

/*se o ficheiro foi aberto com sucesso*/

if(fp==NULL){

printf("Impossivel abrir o ficheiro %s\n",nome_ficheiro);

abertura_ficheiro();

}

else

printf("Ficheiro %s aberto com sucesso\n",nome_ficheiro);

while(!feof(fp))

fscanf(fp,"%c %c %d %d %d %d",equa->tipo_de_componente,equa->referencia,equa->no1,equa->no2,equa->valor1,equa->valor2);

fclose(fp);

}

o ficheiro que estou tentando abrir contêm por exemplo :

RU x 1 2 100 200

R a 2 4 10 50

R b 1 3 20 5

obrigado e digam qualquer coisa

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

pois o problema é que eu já tive a ler a função fscanf e não enconteri nenhum erro.....

só mais uma duvida .... é possivel eu abrir um ficheiro ler o 1º dado e consoante esse dado ler os outroso ficheiro ex..

R 1 2 10 50

Ur 2 3 20 30 50

e se for R lê 4 valores

se for Ur lê 5 valores

graci

Link para o comentário
Compartilhar em outros sites

  • 0

é possivel eu abrir um ficheiro ler o 1º dado e consoante esse dado ler os outroso ficheiro ex..

R 1 2 10 50

Ur 2 3 20 30 50

e se for R lê 4 valores

se for Ur lê 5 valores

sim, com certeza

supondo que os caracteres estejam sempre no comeco da string e que a leitura da linha do arquivo foi realizada na variável p

Ex: fgets(p, 30, fp);

olha o código abaixo

// primeiro caracter é igual a R?
    if(p[0]=='R'){
        printf("Agora tenho que ler 4 valores\n");
    }
// é igual a U?
    else if(que[0]=='U'){
// se o primeiro é igual a U o segundo é igual a r?
        if(que[1]=='r'){
            printf("Agora tenho que ler 5 variaveis\n");
        }
// o segundo não é r
        else
            printf("Caracter não reconhecido\n");
    }
// o primeiro não é U nem R
    else{
        printf("Caracter não reconhecido\n");
    }

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...