• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gois

ler listas ligadas

6 mensagens neste tópico

boas,

Eu consegui por a minh lista ligada a passar para dentro de um ficheiro txt(gravar a informaçao), no entanto não consigo ler a informaçao dentro desse ficheiro...

b=fopen("Backup.txt", "r");
.
.
.
		while(!feof(b))

		{	

			fscanf(b, "%d\n%d", &lista->medico, &lista->idp);

				if(&lista->tipoconsulta==1)	
				fscanf(b, "\nNormal\n");
				else if(&lista->tipoconsulta==2)
				fscanf(b, "\nUrgente\n");

		fscanf(b, "%d/%d/%d\n%d:%d\n%d\n", &lista->dia, &lista->mes, &lista->ano, &lista->horas, &lista->minutos, &lista->tempoconsulta);

		lista = lista -> prox;

		}
			fclose(b);
			break;
			}

da me erro no primeiro fscanf com uma janela "Unhandled exception at 0x102a403a in projecto2.exe: 0xC0000005: Access violation writing location 0x00000004."

cumps,

P.S- sim eu sei que existem outras formas de gravar sem ser por fprint (fwrite), mas eu escolhi assim xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
	b=fopen("Backup.txt", "wt");

			while(lista != NULL)
	{

			fprintf(b, "%d\n%d", lista->medico, lista->idp);

				if(lista->tipoconsulta==1)	
				fprintf(b, "\nNormal\n");
				else if(lista->tipoconsulta==2)
				fprintf(b, "\nUrgente\n");


				fprintf(b, "%d/%d/%d\n%d:%d\n%d\n", lista->dia, lista->mes, lista->ano, lista->horas, lista->minutos, lista->tempoconsulta);

		lista = lista -> prox;

			}

			fclose(b);
			printf("\nBackup feito com sucesso\n");
			getch();
			system("cls");
			goto menu;
			}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A sintaxe do fscanf esta mal.

A sintaxe é:


int fscanf (FILE *fp,char *str,...);

Deves passar o tipo de dados que vais ler e uma variavel para os guardares.

exemplo

FILE *p;
char str[80],c;

str= "qualquercoisa.txt"
p = fopen(str,"r");
while (!feof(p))
{
fscanf(p,"%c",&c);
printf("%c",c);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Realmente nao percebi qual a diferença entre o código que acabaste de por e o meu, a unica diferença e nas variaveis, e as minhas estao definidas numa estructura a servir de lista ligada...

Quando faço os fscanf's apenas me lê lixo.. coisa que não poderia acontecer uma vez que tenho informaçao no ficheiro txt

cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora