Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2011-08-23
年龄: 33
帖子: 1
声望力: 0 ![]() |
![]()
用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的第二个参数是读几个数据还是读几个字节? 如果要达到目的要怎么写?????????? 救命啊!!!!! |
![]() |
![]() |