私はこのコードをbinファイルから読み込んでいます。 データ構造体及びヌルのアレイに保持されている私の問題は、ということであるD.Dlang文字列からchar *への変換
を使用して同じ構造arrayOfCELLsに、ファイルに write (filehandle, (char *)arrayOfCELLs, sizeof(arrayOfCELLs);
とCコードで書かれた、私の目標は、データを読み取ることである 末端c。で私はrawRead
auto buffer = FileHandle.rawRead(arrayOfStructs)
012に私を導いたこと
rcorreを通じて分かった(のchar *)へのキャストを経由して、[] arrの構造体にDIで
read(filehandle, (char *)arrayOfStructs, sizeof(arrayOfStructs)
をファイルを読みます
バッファはsizeof arrayOfStructsにデータを取得します。
しかし、ここではバッファがnullterminationを含むrawdataを受け取っているようですが、受信側配列の[0]にすべて配置されています。また、データ型が何であるかわかりません。または文字列[]または.....
struct CELL{ char [20] name, int sect, int type ...};
struct CELL [50] arrayOfCELLs;
auto buffer = ..rawRead(arrayOfCELLs)
は最初はヌル終端に続く名、「TEST」であり、バッファ内のデータが(その一部)であり、この
[CELL("TEST\0feed\0\0\0\0\0\0\0\0\0\0\0", 1, 1,
を受け、sect = 1、ptyp = 1。今度は2番目のCELLがこれを保持する
CELL("\x01\0\0\0\x02\0\0\0N\0\0\0\x04\0\0\0\x02\0\0\0", 65656, 655375,
そしてそれは、私はこれがなぜ私が
anders$ cat cellspec
TESTfeedOx
atestTailingNx
aOF2 cycl primO?
質問、任意のアイデアを取得し、端末に猫と何ができるをすれば、「テスト」と2,1、 にする必要があり、すべて間違っています私はそれを正しく得るために行うのですか?
あなたはどこかcellspec、またはあなたのCとDのコード – Kozzi11
・ホープ、このダウンロードリンクの作品を投稿することができ、そのためcellspec https://1drv.ms/u/s!AmN2cOqroYulgpAx8xZrCQEuj6pR9A –
そしてここでDコードはhttps ://1drv.ms/u/s!AmN2cOqroYulgpAynYqWHK_zAJ011g –