![]() |
一个关于读数据的问题
用fread命令读数据,自己写了这么一段坑爹的货:
fig=fopen(‘st.dat’,'r'); a=fread(fig,1,'int32'); fclose(fig); 然后std1d.dat文件结构说明 data file header 32字节,数据文件的头 header for block 1 数据块1的头 data of block 1 数据块1 header for block 2 数据块2的头 data of block 2 数据块2 …… 当datafilehead.nbheaders=2时,表明文件是一超复数数据文件,用于存储2D FID或者谱数据。 数据文件的头结构data file header的C语言定义: /* Used at start of each data file (FIDs, spectra, 2D) */ struct datafilehead { long nblocks; /* 文件中的块数目 */ long ntraces; /* 每一块中有多少trace */ long np; /* 每一trace中有多少元素 */ long ebytes; /* 每一元素有多少字节*/ long tbytes; /* 每一trace多少字节*/ long bbytes; /* 每一block中多少字节 */ short vers_id; /* 软件版本位 */ short status; /* 文件状态 */ long nbheaders; /* 每一块中有多少块头 */ }; datafilehead 结构中各变量的含义: . nblocks:每一文件中含有的块(block)数(对于一维非阵列实验,每个文件只有一个block). 期望出现的是a=1,结果跳出来不知道什么鬼…… 希望各位大大帮忙看看这是什么问题,顺便问一句fread的第二个参数是读几个数据还是读几个字节? 如果要达到目的要怎么写?????????? 救命啊!!!!! |
所有时间均为北京时间。现在的时间是 12:41。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.