rgallea 0 Denunciar post Postado Março 4, 2004 Bem primeiramente desculpe por colocar uma divida de c em um forum de c++. Essa é a parte de um programa em C no qual estou tentando passar para pascal.Porem tem uma linha que eu não compreendo oque o programa tenta fazer. typedef struct { WORD MagicNumber; BYTE HeaderType; BYTE SubChannelNumber; WORD NumChansToFollow; WORD Reserved1[2]; DWORD NumBytesThisRecord; WORD Year; // Computer date when this record was saved BYTE Month; BYTE Day; BYTE Hour; // Computer time when this record was saved BYTE Minute; BYTE Second; BYTE HSeconds; // hundredths of seconds (0-99) WORD JulianDay; // Number of days since January 1 WORD CurrentLineID; // Current line ID from serial port WORD EventNumber; // [O] Last logged event number BYTE ReservedSpace2[11]; // Currently unused } XHEADER; int infl=0; unsigned int amt; unsigned char *buffer = NULL; void ReadFile(int infl) { /******************************************************************************** *******/ // Given a handle to on open file, read through the file and // print out some data about it. // // Read the file header // if (ReadHeader(infl, FileHeader) == FALSE) return; ProcessHeader(FileHeader); // // Read the file one packet at a time // while ((amt = ReadFormatFileData(infl, buffer)) != 0xFFFF) { // // Buffer now holds a single record which can be processed // here. The return value from ReadFormatFileData() // holds byte length of the data record // XHEADER *PingHeader = (XHEADER *) buffer; // o que ele esta fazendo ?????????????????? switch (Header->HeaderType) { case _HEADER_S: ptr = "SNR "; NumSnr++; ProcessSnr((XHEADER *) PingHeader); break; ....................... Se alguem souber oq a linha em vermelho significa por favoooorr me dê uma luz. a minha duvida é saber oq significa (XHEADER *) oq esse asterísco significa? Obrigado a todos q puderem me ajudar. Rubens :) Compartilhar este post Link para o post Compartilhar em outros sites
Belon 0 Denunciar post Postado Março 4, 2004 E ae kra... blza ?trabalho a pouco tempo com c, mais acho q posso te ajudar um pouco, alguem me corrija se eu estiver errado... :blink: hehehetypedef struct {WORD MagicNumber; ...BYTE ReservedSpace2[11]; // Currently unused} XHEADER;::: aqui você está dando um apelido ao registro unsigned char *buffer = NULL;::: esse * significa que isso é um ponteiro para uma variável do tipo char, e você está apontando ele para NULOXHEADER *PingHeader = (XHEADER *) buffer;::: aqui voce está criando um ponteiro para o registro que você tinha criado anteriormente. agora o resto eu tbn desconheço...espero ter ajudado... B) Compartilhar este post Link para o post Compartilhar em outros sites
rgallea 0 Denunciar post Postado Março 5, 2004 Até ai eu entendi , eu só não entendo o outro lado da igualdade(XHEADER *) buffer; .Oque ele faz ?Obrigado pela ajuda , mas a busca permanece.Se alguem souber por favor!!!M-E A-J-U-D-Egrato Compartilhar este post Link para o post Compartilhar em outros sites