Ir para o conteúdo
Gois

ler listas ligadas

Mensagens Recomendadas

Gois    0
Gois

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gois    0
Gois
	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;
			}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
skm    0
skm

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);
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gois    0
Gois

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,

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade