用C语言读取文件指定的数据,并将数据惠存bin文件中

用C语言读取文件指定的数据,并将数据存入bin文件中
有两个文件,文件1,和文件2.它们的内容如图片所示:
文件1:
用C语言读取文件指定的数据,并将数据惠存bin文件中

文件2:
用C语言读取文件指定的数据,并将数据惠存bin文件中

我需要将文件2中的定义的等式,例如:equ_0001 = letter00+letter00+200+letter00+letter00+FFFFH
对应文件1中的定义例如:letter00 equ 0x0000
将这些数据存入bin文件中,存放的格式为letter00存放用2个byte  200也存放用2个byte,FFFF也存2个byte
那么:equ_0001 = letter00+letter00+200+letter00+letter00+FFFFH


存放的数据为:00 00 00 00 00 C8 00 00 00 00 ff ff

求懂的朋友指教下,希望详细点. 求告诉详细的方法,包括用到的函数。最好能给我写个示范的代码。不胜感激!!
c语言 文件 数据

------解决方案--------------------
 letter02+letter01要这样存放: 02 00 01 00
这叫先存放低字节。
#include <stdio.h>
#include <string.h>
#define MAXDATA 6
#define MAXLEN 1024
FILE *fi,*fo,*fa;
char ln[MAXLEN],*p;
int n,r,i,h;
unsigned short b[MAXDATA];
int addr;
int main() {
    fi=fopen("2.txt","r");
    fo=fopen("3.bin","wb");
    fa=fopen("addr.bin","wb");
    addr=0;
    h=0;
    while (1) {
        if (NULL==fgets(ln,MAXLEN,fi)) break;
        h++;
        i=0;
        p=strstr(ln,"= ");
        if (NULL==p) {
            printf("Format Error at Line %d:%s",h,ln);
            continue;
        }
        p+=2;
        while (1) {
            r=sscanf(p,"letter%hd+%n",&b[i],&n);
            if (1==r) {
                p+=n;
                i++;
                if (i>=MAXDATA) break;
            } else if (r==EOF) break;
            else {
            r=sscanf(p,"%hd+%n",&b[i],&n);
            if (1==r) {
                p+=n;
                i++;
                if (i>=MAXDATA) break;
            } else if (r==EOF) break;
            else {
            r=sscanf(p,"%hXH",&b[i],&n);
            if (1==r) {
                p+=n;
                i++;
                if (i>=MAXDATA) break;
            } else if (r==EOF 
------解决方案--------------------
 r==0) break;
            }
            }
        }
        n=i;
        if (1) {//先低字节,将(1)改为(0)即可改用下面的“先高字节”
            fwrite(&addr,1,3,fa);
            fwrite(b,sizeof(unsigned short),n,fo);
        } else {//先高字节
            fputc(((char *)&addr)[2],fa);
            fputc(((char *)&addr)[1],fa);
            fputc(((char *)&addr)[0],fa);