// Works
int fnamesize=0;
fnamesize=message[0]<<24;
fnamesize+=message[1]<<16;
fnamesize+=message[2]<<8;
fnamesize+=message[3];
// Doesn't work
int fsize;
memcpy(&fsize,message,sizeof(int));
有人可以解釋爲什麼第二個不起作用嗎?我從複製的內存是char *
。當我嘗試測試fnamesize和fsize的值時,如printf("fsize is %d,fnamesize is %d",fsize,fnamesize);
,fsize會給出意想不到的值,但fnamesize會給出我期望的值。C:從字符數組複製到int
想法?
絕對正確。編寫一個「網絡堆棧模擬器」,並且部分項目正在使用ntoh_和hton_。感謝您讓我走向正確的方向! – Joseph 2012-02-14 03:59:47
很高興我能幫忙:) – MByD 2012-02-14 04:00:41