द्वारा पढ़ा जा करने के लिए मुझे लगता है कि इस तरह सेअजगर में बाइनरी फ़ाइलें लेखन सी
nCnt = 0;
for (i=0;i<h.nsph;++i) {
fread(&gp,sizeof(struct gas_particle),1,fp);
if (bGas) {
kd->p[nCnt].iOrder = nCnt;
for (j=0;j<3;++j) kd->p[nCnt].r[j] = gp.pos[j];
++nCnt;
}
}
में एक बाइनरी फ़ाइल से डेटा पढ़ने सी में लिखे एक प्रोग्राम का उपयोग करने के लिए ऊपर दिए गए कोड कार्यक्रम के पूरे कोड नहीं है मैं उपयोग कर रहा हूं लेकिन केवल मेरे प्रश्न के लिए प्रासंगिक हिस्सा है। मुझे nCnt
कणों की स्थिति पढ़ने की जरूरत है, यानी प्रत्येक कण के लिए समन्वय। मैं एक अजगर सरणी में इन पदों है, जो इस
pos=array([[[ 0.4786236 , 0.49046784, 0.48877147],
[ 0.47862025, 0.49042325, 0.48877267],
[ 0.47862737, 0.49039413, 0.4887735 ],
...,
[ 0.4785084 , 0.49032556, 0.48860968],
[ 0.47849332, 0.49041115, 0.48877266],
[ 0.47849161, 0.49041022, 0.48877176]]])
तरह लग रहा है मैं एक बाइनरी फ़ाइल में इस सरणी कैसे लिखना चाहिए ताकि सी कोड यह ठीक पढ़ा होगा?
मुमकिन है कि एक 'numpy' सरणी है:
सी में, आप तो जैसे प्रत्येक पंक्ति पढ़ सकते हैं? –
क्या आपने इसे चेक किया है: http://stackoverflow.com/questions/807863/how-to-output-list-of-floats-to-a-binary-file-in-python (प्रस्तावित समाधान http: // docs का उपयोग करता है .python.org/2/पुस्तकालय/array.html)? – furins
क्या आप सार्वभौमिकता के लिए अपना डेटा स्ट्रिंग करना नहीं चाहते हैं? उदाहरण के लिए आप इसे जेएसओएन में स्टोर कर सकते हैं, उस स्थिति में आप अंतहीनता या सीधा पर निर्भर नहीं होंगे। –