0

以下を含む構造体があります。

struct mystruct{
  int                id[10];
  char               text[40];
  unsigned short int len;
};

そして、私はそれを次のような1行で解凍しようとしています:

  my(@ids,$text,$length) = unpack("N10C40n",$buff) ;

しかし、すべてが最初の配列 (@ids) に送られます。テンプレートを " N10 C40 n" および " (N10)(C40)(n)" として試しました。これができないか、適切なテンプレート文字列を使用していません。

注: ビッグ エンディアン データを使用しています。

ヒントはありますか?

4

2 に答える 2

1

の順序が重要で@idsない場合:

my ($length, $text, @ids) = reverse unpack("N10C40n",$buff) ;
于 2009-07-22T14:55:40.713 に答える