// 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));
誰かが2番目の理由で機能しない理由を説明できますか?コピー元のメモリmessage
はchar *
です。 printf("fsize is %d,fnamesize is %d",fsize,fnamesize);
のようにfnamesizeとfsizeの値をテストしようとすると、fsizeは予期しない値を返しますが、fnamesizeは期待した値を返します。C:文字配列からintにコピー
思考?
大丈夫です。 "ネットワークスタックシミュレータ"とプロジェクトの一部を書くことは、ntoh_とhton_を使って作業しています。正しい方向に私を入れてくれてありがとう! – Joseph
私は助けることができる嬉しい:) – MByD