【データ受け渡し】Pythonで出力したバイナリーデータをC言語で読み込む
いつも忘れるのでメモ。
C言語からPython ver. はこちら。
例えばPython側で
のように出力したら、C言語側でimport numpy as np
f = open("test.dat","wb")
for i in range(2):
a = np.array([979517696]).astype("i8")
f.write(a.tobytes())
a = np.array([5]).astype("f8")
f.write(a.tobytes())
a = np.array([10]).astype("i4")
f.write(a.tobytes())
f.close()
のように読み込めば良い。#include <stdio.h>
int main(int argc, char **argv)
{
double d;
long long l;
int i;
FILE *file;
char* fname="test.dat";
file = fopen(fname,"rb");
fread(&l,sizeof(l),1,file);
printf("%lld\n", l);
fread(&d,sizeof(d),1,file);
printf("%f\n", d);
fread(&i,sizeof(i),1,file);
printf("%d\n", i);
fclose(file);
return 0;
}
コメント
コメントを投稿