eddie_gordo Posted June 4, 2006 at 07:11 PM Report #31097 Posted June 4, 2006 at 07:11 PM Boas... Estou a fazer um trabalho em C++, simulando o funcionamento de uma linha do Metro. O enunciado pode ser visto aqui: http://www.dei.isep.ipp.pt/~cneves/TLP1_0506_2/Metro.htm Já tenho praticamente tudo implementado, a unica coisa que me está a dar a volta à cabeça é a forma como vou conseguir guardar todas as classes, listas e listas dentro de classes e por aí, em memória secundária... Alguém pode dar umas luzinhas? 😛 Se for necessário colocar aqui algum código avisem, sff... Cumprimentos e obrigado desde ja pela disponibilidade.. 🙂
brink@ero Posted June 5, 2006 at 08:28 AM Report #31234 Posted June 5, 2006 at 08:28 AM Boas, não tenho a certeza do que vou dizer e não tenho tempo para confirmar a minha ideia (até pode ser um auténtico disparate). Eu penso que se abrires os ficheiros de modo binário e escreveres directamente a classe no ficheiro, consegues gravar tudo no ficheiro. Ficou a minha primeira ideia que veio à cabeça, cumpr. bk@ero 😁
TheDark Posted June 5, 2006 at 12:33 PM Report #31272 Posted June 5, 2006 at 12:33 PM Boas, não tenho a certeza do que vou dizer e não tenho tempo para confirmar a minha ideia (até pode ser um auténtico disparate). Eu penso que se abrires os ficheiros de modo binário e escreveres directamente a classe no ficheiro, consegues gravar tudo no ficheiro. Depende se tem apontadores ou não. Como diz que tem listas dentro de classes, suponho que tem apontadores. As listas têm apontadores de certeza... Por isso tens que guardar os valores de cada elemento das listas um a um e recriá-las quando leres do ficheiro. Outro problema é a maneira como tens as listas dentro das classes. Se tiveres um objecto lista é mais complicado do que se tiveres um apontador para lista... Desaparecido.
M6 Posted June 5, 2006 at 02:19 PM Report #31299 Posted June 5, 2006 at 02:19 PM Creio que a serialização é a solução para o teu problema. Vê mais sobre este assunto aqui: http://www.parashift.com/c++-faq-lite/serialization.html http://www.functionx.com/cpp/articles/serialization.htm http://www.rrsd.com/boost/ 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
TheDark Posted June 5, 2006 at 05:05 PM Report #31312 Posted June 5, 2006 at 05:05 PM Creio que a serialização é a solução para o teu problema. Vê mais sobre este assunto aqui: http://www.parashift.com/c++-faq-lite/serialization.html http://www.functionx.com/cpp/articles/serialization.htm http://www.rrsd.com/boost/ Belos links! Tinha começado a experimentar uma solução para o problema que se assemelha a serialização, mas nada que se compare. Ainda nem tinha resolvido o problema dos apontadores. Desaparecido.
Solution eddie_gordo Posted June 6, 2006 at 11:40 PM Author Solution Report #31544 Posted June 6, 2006 at 11:40 PM Obrigado a todos pelas ajudas! Já entreguei o trabalho... 😉 Nao usei serialização, apenas fui lendo os valores q tinha nos atributos das classes e gravando para um ficheiro de texto, separados por um caracter à escolha (usei o '#')... Dps, para ler novamente, foi só usar a função strtok da libraria string.h para poder ir buscar campo a campo e atribuir novamente os valores aos atributos das classes! 😄🙂 Cumprimentos a todos!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now