0
Cで書かれたバイナリファイルを読むには、どのような方法が適していますか? 私はCヘッダファイルを持っていますが、いくつかの '構造体があります。 これらのヘッダファイルは、Goで手動で書き換える代わりに使用できますか?ここでCで書かれたバイナリファイルを読み込み
/* sample.h */
#define HEADER_SIZE 2048 //* large then sizeof(header)
typedef struct {
uint8_t version;
uint8_t endian;
uint32_t createTime;
} header;
typedef struct {
uint64_t data1;
uint32_t data2;
char name[128];
} record;
擬似コード
package "main"
// #include "sample.h"
import "C"
func main() {
f, _ := os.Open("sample_file")
// read(buf, HEADER_SIZE) and print out
// use structure header to decode the buf
// while not end of file {
// read(buf, sizeof(record) and print out
// }
}
多分[cgo](https://golang.org/cmd/cgo/)が役に立ちます。 – kichik
@kichik:それはOPが既にcgoを使用しているという質問から現れます。 – ruakh