Jump to content

Memoria dinamica + estruturas + ficheiros


Recommended Posts

Posted

Boas pessoal...

tenho um problema e gostava q m ajudassem se pudesse ser  😄

Para um agenda electronica peço ao utilizador (atraves das estruturas) todas as informaçoes referentes ao contacto q quer criar e dps tenho quero guardar tudo isso num ficheiro... como posso fazer esta parte final ?!  😕

No fim d ter as informaçoes do contacto q vou criar como guardo isso num vector?

Agradecia td o tempo disponibilizado

Abraço  😄

Posted

sim posso criar o vector de estruturas mas no fim terei que mandar a informação referente ao contacto q pedi para um ficheiro...

Inserir um novo registo -> Ler toda a informaçao -> gravala num ficheiro

e isto k keria fazer...

Escrever lg directamente no ficheiro sem ir plo caminho do vector d estruturas seria abrir o ficheiro em modo de escrita a cauda certo ?  😕

Posted

Se o que queres é escrever só a estrutura da qual acabaste de receber a informação, acrescentando-a a um ficheiro que já poderá conter outros dados escritos anteriormente, sim.

Abres o ficheiro em modo append ('a+') e fazes fwrite da estrutura.

Desaparecido.

  • 3 weeks later...
Posted

boas estou aqui com um problema identico :wallbash:

o funcionamento do programa é basicamente o mesmo que o descrito em cima...

Introduzir os dados->grava na estrutura->grava no ficheiro...

a minha estutura é esta

struct tipo_de_desastre_comum
{

char denimonacao[20];
float latitude,longitude,danos_materiais;
int mes,dia,ano,hora,minuto,danos_humanos_mortes,danos_humanos_feridos,tipo,sub_tipo;

};

struct tipo_de_desastre_comum registo[2];

como é que faço o fwrite desta estrutura???

Posted

Obrigado já esta resolvido...

queria usar o fwrite() por poupar codigo mas infelizmente não foi possivel tive de fazer com fprintf.

Já agora tenho uma questão que me está a dar em doido :wallbash:

Um dos pontos que tenho no protocolo é o seguinte.

Crie uma função que permita ler informação sobre desastres naturais separada por tab e guardada em um de nome desastres.txt

até aqui tudo bem o problema foi quando vi o ficheiro .txt para ler  ?

que é deste tipo:

Tipo Subtipo Tipo Subtipo Ano Mês Dia Hora Minuto Pais Estado/provincia/cidade Nome Latitude Longitude Mortos Feridos Danos Materiais Distancia á fonte HH_Propagação MM_Propagação Altura máxima

Outros Tsunamis 4 2 1900 8 11 4 40 USA AK "LITUYA BAY, AK " 58.6 -137.1 5 -999 -999 23 -999 -999 -999

Outros Tsunamis 4 2 1900 9 17 21 45 PAPUA NEW GUINEA -999 "RABAUL (BLANCHE BAY), NEW BRITAIN " -4.22 152.18 -999 -999 -999 471 -999 -999 3

Outros Tsunamis 4 2 1900 10 7 21 4 INDONESIA -999 NAPAN -2.55 134.5 5 -999 -999 632 -999 -999 -999

Outros Tsunamis 4 2 1900 10 29 -999 -999 VENEZUELA -999 MACUTO 10.617 -66.883 -999 -999 -999 77 -999 -999 -999

Outros Tsunamis 4 2 1900 10 29 -999 -999 VENEZUELA -999 PAPARO 10.383 -65.983 -999 -999 -999 107 -999 -999 -999

Outros Tsunamis 4 2 1900 10 29 -999 -999 VENEZUELA -999 PUERTO TUY 10.333 -65.917 -999 -999 -999 116 -999 -999 10

Outros Tsunamis 4 2 1900 10 29 -999 -999 VENEZUELA -999 SAN JOSE DE RIO CHICO 10.3 -65.983 -999 -999 -999 115 -999 -999 -999

Outros Tsunamis 4 2 1901 3 3 7 45 USA CA "MONTEREY, CA " 36.605 -121.888 -999 -999 -999 141 -999 -999 -999

Outros Tsunamis 4 2 1901 6 24 -999 -999 JAPAN KAGOSHIMA AMAMI OSHIMA RYUKY 29.25 129.45 -999 -999 -999 162 -999 -999 -999

Outros Tsunamis 4 2 1901 6 24 -999 -999 JAPAN MIYAZAKI HOSOJIMA 32.433 131.667 -999 -999 -999 510 -999 -999 0.2

Outros Tsunamis 4 2 1901 6 24 -999 -999 JAPAN OKINAWA "NAZE, OKINAWA PREFECTURE " 26 126 -999 -999 -999 481 -999 -999 -999

Outros Tsunamis 4 2 1901 8 9 9 23 JAPAN HOKKAIDO NEMUROKO 43.35 145.583 -999 -999 -999 407 -999 -999 0.04

Outros Tsunamis 4 2 1901 8 9 9 23 JAPAN IWATE MIYAKO 39.65 141.983 -999 -999 -999 104 -999 -999 0.6

Outros Tsunamis 4 2 1901 8 9 9 23 JAPAN MIYAGI AYUKAWA 38.3 141.5 -999 -999 -999 259 0 27 0.23

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "HONOLULU, OAHU, HI " 21.3 -157.867 -999 -999 -999 5946 9 -999 0.12

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "HONUAPO, HAWAII, HI " 19.087 -155.553 -999 -999 -999 5909 -999 -999 -999

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "HOOKENA, HAWAII, HI " 19.38 -155.9 -999 -999 -999 5910 -999 -999 -999

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "HOOPULOA, HAWAII, HI " 19.2 -155.9 -999 -999 -999 5895 -999 -999 1.2

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "KAILUA-KONA, HAWAII, HI " 19.63 -155.99 -999 -999 -999 5925 8 30 1.2

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "KEAUHOU, HAWAII, HI " 19.57 -155.95 -999 -999 -999 5922 -999 -999 -999

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "MAHUKONA, HAWAII, HI " 20.186 -155.906 -999 -999 -999 5978 -999 -999 -999

Outros Tsunamis 4 2 1901 8 9 13 1 USA HI "NAPOOPOO, HAWAII, HI " 19.477 -155.922 -999 -999 -999 5917 -999 -999 -999

Outros Tsunamis 4 2 1901 8 9 18 33 JAPAN HOKKAIDO NEMUROKO 43.35 145.583 -999 -999 -999 409 -999 -999 0.02

Outros Tsunamis 4 2 1901 8 9 18 33 JAPAN MIYAGI AYUKAWA 38.3 141.5 -999 -999 -999 265 0 25 0.25

Outros Tsunamis 4 2 1901 8 9 20 0 JAPAN HOKKAIDO NEMUROKO 43.35 145.583 -999 -999 -999 407 -999 -999 0.02

Outros Tsunamis 4 2 1901 12 31 9 2 USA AK "KENAI, AK " 60.55 -151.25 -999 -999 -999 1582 -999 -999 -999

Outros Tsunamis 4 2 1902 2 26 -999 -999 EL SALVADOR -999 ACAJUTLA 13.567 -89.833 -999 -999 -999 37 -999 -999 -999

Outros Tsunamis 4 2 1902 2 26 -999 -999 EL SALVADOR -999 BARRA DE SANTIAGO 13.691 -89.999 100 -999 -999 58 -999 -999 -999

Outros Tsunamis 4 2 1902 2 26 -999 -999 EL SALVADOR -999 BARRA DEL PAS -999 -999 85 -999 -999 -999 -999 -999 -999

Outros Tsunamis 4 2 1902 2 26 -999 -999 USA CA "SAN DIEGO, CA " 32.715 -117.174 -999 -999 -999 3527 -999 -999 -999

Outros Tsunamis 4 2 1902 5 5 -999 -999 MARTINIQUE -999 "ST. PIERRE, MARTINIQUE " 14.73 -61.18 -999 -999 -999 10 -999 -999 5

Outros Tsunamis 4 2 1902 5 7 -999 -999 BARBADOS -999 BARBADOS 13.166 -59.533 -999 -999 -999 179 -999 -999 1

Outros Tsunamis 4 2 1902 5 7 -999 -999 GRENADA -999 GRENADA 12.117 -61.667 -999 -999 -999 145 -999 -999 1

O grande problema é que tenho 5 mil linhas para ler ?

para isso criei duas estruturas para o qual queria usar uma alocação dinamica de memoria.

struct tipo_de_desastre_comum_lido
{

char denimonacao[20];
float latitude,longitude,danos_materiais;
int mes,dia,ano,hora,minuto,danos_humanos_mortes,danos_humanos_feridos,tipo,sub_tipo;

};

struct tipo_de_desastre_comum_lido *y;

y=(struct tipo_de_desastre_comum_lido*)malloc(5000*sizeof(tipo_de_desastre_comum_lido));

o problema é que isto dá 3 erros.

C:\Users\Vitor\Desktop\lab1inf\lab1inf\lab1inf.c(49) : error C2040: 'y' : 'int ' differs in levels of indirection from 'struct tipo_de_desastre_comum_lido *'

C:\Users\Vitor\Desktop\lab1inf\lab1inf\lab1inf.c(49) : error C2065: 'tipo_de_desastre_comum_lido' : undeclared identifier

C:\Users\Vitor\Desktop\lab1inf\lab1inf\lab1inf.c(49) : error C2099: initializer is not a constant

Alguem sabe uma forma melhor de o fazer ou o porque destes erros?:down:

Obrigado a todos 😄

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.