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

O sistema não pode encontrar o arquivo especificado


wrodrigounb

Pergunta

a) Construção com inserção dos elementos no início da lista

Neste caso, cada dado lido do arquivo é inserido no começo da lista. Dessa forma, a

ordem dos elementos na lista fica invertida em relação à ordem original do arquivo. A função

recebe como parâmetro o endereço do ponteiro pinicio, que aponta para o início da lista.

#include<stdio.h>

struct elemento {
     char dado;
     struct elemento *prox, *ant;
     };     
  
void construir1(struct elemento **pinicio);  
   
int main void() {
    struct elemento *pinicio;
    construir1(&pinicio);      


return 0;
}  
  

void construir1(struct elemento **pinicio) {
     FILE *arq;
     struct elemento *p1;
     char c;
             
     arq = fopen ("t1.txt", "r");
     *pinicio = NULL;
     while ((c = getc (arq)) != EOF) {
           if (c != '\n'){
           p1 = malloc (sizeof (struct elemento));
           p1->dado = c;
           p1->prox = *pinicio;
           }
           if (*pinicio != NULL) {
           (*pinicio)->ant = p1;
           p1->ant = NULL;
           *pinicio = p1;
           }
     }
fclose (arq);

return;

}

Não entendo porque o compilador indica esse erro,alguém pode me ajudar?

Acredito que o programa não tenha erros.

W. Rodrigo

CiC - Universidade de Brasília

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Essa questão de compilador é complicada mesmo,

mas execute o código a seguir no seu Devc++ que não terá problema.

#include<stdio.h>
#include <stdlib.h>



struct elemento {
     char dado;
     struct elemento *prox, *ant;
     };    
  
void construir1(struct elemento **pinicio);  
  
int main () {
    
    struct elemento *pinicio;
    construir1(&pinicio);      


return 0;
}  
  

void construir1(struct elemento **pinicio) {
     FILE *arq;
     struct elemento *p1;
     char c;
            
     arq = fopen ("t1.txt", "r+");
     *pinicio = NULL;
     
     while ((c = getc (arq)) != EOF) {
           if (c != '\n'){
           p1 =(struct elemento *) malloc (sizeof (struct elemento));
           p1->dado = c;
           p1->prox = *pinicio;
           }
           if (*pinicio != NULL) {
           (*pinicio)->ant = p1;
           p1->ant = NULL;
           *pinicio = p1;
           }
     }
fclose (arq);

return;

}

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...