Jump to content
Fórum Script Brasil
  • 0

Abrir Um Ficheiro


Guest duarte
 Share

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...