【データ受け渡し】Pythonで出力したバイナリーデータをC言語で読み込む
いつも忘れるのでメモ。 C言語からPython ver. は こちら 。 例えばPython側で 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() のように出力したら、C言語側で #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); ...