|
hello
i want to read sequenece numbers from the packets that are in a dump file. problem is that i hav read the header into byte array. and want to convert the sequence numbers into integer.
my code is
unsigned char buff[2]; buff[0]=header[22]; buff[1]=header[23];
unsigned int t; n=(buff[0]<<24)|(buff[1]<<16);
header is byte array containing header. byet 22 and 23 is sequqnce number and i want to convert it into int. but this code is not working properly.
can anybody help me.
|
|
|
|
|
1/ Read on the posting guidlines - particularly the pre tag. It marks out what is code, and what is text.
2/ You declare t, then don't use it.
3/ You use n, but don;t declare it. Without knowing things like type, we can;t help you much.
3/ buff [0] is a uchar. (buf [0] << 24) is also a uchar - and only has room for 8 bits, and will therefore end up as 0.
4/ Lastly, some help:
DWORD dwResult = 0;
dwResult |= header [22];
dwResult <<8;
dwResult |= header [23;
dwResult <<= 16;
Enjoy,
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
Are you sure he wants the original number times 65536 ?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
No - but he did do a shift by 24 bits on one byte, and 16 bits on another. Given that I was guessing at his code (ie, taking his word for which was the high byte, etc), it was one of the few bits of solid data he'd actually provided.
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
So, if I understand you well, you have an array of two bytes and you want to 'convert' this two bytes into ONE integer ?
If yes, then simply do something like this:
int Value = buff[0] + buff[1] * 256;
Depending on the byte ordering, you will perhaps have to invert them.
|
|
|
|
|
It depends on byte ordering of your packet, i.e
Big Endian:
unsigned int n = (buff[0] << 8) | buff[1];
Little Endian:
unsigned int n = (buff[1] << 8) | buff[0];
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
modified on Thursday, April 17, 2008 8:27 AM
|
|
|
|
|
If I understand correctly, your sequence number you want is in bytes buf[22] and buf[23].
If that's true, you can use a cast to retrieve the value:
unsigned short SeqNo;
SeqNo = *(short*)&buf[22]; Note that if it's only two bytes, it's a short and not an int.
Hope that helps.
Karl - WK5M
PP-ASEL-IA (N43CS)
PGP Key: 0xDB02E193
PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
|
|
|
|
|
I'm using custom handler for unhandled exception to generate crash dump file in my application (using XCrashReport). The problem is that it does not handle crash when progeram is freezed and user closes it using task manager. Is there a way how to run my exception handler in this case? It is difficult to explain users when they will find drwatson's crash results (and I think it is different in different windows versions).
Thank you.
rrrado
|
|
|
|
|
I do not think that an application can trap being terminated by Task Manager - too much potential for abuse there, IMHO.
One thing you can try is to create your own watchdog . Create a separate thread whoses sole purpose in life is to send a message (like WM_NULL ) to the main message pump every 10 seconds or so using SendMessageTimeout(...) with an approporiate timeout.
If the timeout expires, intentionally crash the application by doing something like dereferencing a NULL . Maybe that will cause the SEH handler to fire and give you more information about the state of the application?
Peace!
-=- James Please rate this message - let me know if I helped or not!<hr></hr> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
win32 - edges on buttons -
I need to show images on buttons in win32,
but I need that borders of buttons, it's edges will be transparent!!
I don't need them!!
plz, help - I can't find the way to do it
|
|
|
|
|
Is it urgent?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
If it was an urgent query, that would have been posted on the lounge. I am surprised you didn't know this.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Sorry, I first time in this forum...
|
|
|
|
|
You're welcome. Please give yourself a name by editing your profile and then read the guidelines[^] on how to ask a question.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
He used of MemberID for his or her name.
|
|
|
|
|
Actually it is his real name.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
CP Automatically assigns the member no. as the members name upon successful registration.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
|
I can't say it for sure. But I've seen several such new members with their name as their member number while making their first few posts. So, that's my guess.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Rajesh R Subramanian wrote: I am surprised you didn't know this.
'coz Im new VC++ plz, plz hlp me urgent...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
CPallini wrote: 'coz Im new VC++ plz, plz hlp me urgent
Well its be late for you can't learn it!
|
|
|
|
|
CPallini wrote: Im new VC++ plz, plz hlp me urgent...
You scumbag! What did you do to CPallini? How did you get his CP password?
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Plz sir...CPallini abuz drugz, plz plz help urgent.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
CPallini wrote: CPallini abuz drugz
Okayyy, now I understand
|
|
|
|
|
Did you search on the codeproject,I think Isaw articles about it.
|
|
|
|