我写的一个程序是要把通过USB传输来的数据放到不同的文件中,下面是我的一段程序: 
for (DWORD d = 0; d < dwNumDevices; d++) 

status = SI_GetProductString(d, devStr, SI_RETURN_SERIAL_NUMBER); 
if (SI_Open(d,&m_hUSBDevice)==SI_SUCCESS) 

BYTE bufWrite[MAX_PACKET_SIZE_WRITE]; 
BYTE bufRead[MAX_PACKET_SIZE_READ]; 
int d; 
for (d=0x01;d <0x19;d++) 

bufWrite[0]= d;//(BYTE)0x01;  //IDC_EDIT_FileName01; unsigned long bytes_returned=0; SI_Write(m_hUSBDevice,bufWrite,4,&bytes_returned); memset(bufRead, 0, 1000); SI_Read(m_hUSBDevice,bufRead,1000,&bytes_returned,NULL); 

?    } 


读的时候bufRead[0]地址,当其为0x01时800字节的数据放到(pDX, IDC_EDIT_FileName01, m_FileName01)和(pDX, IDC_EDIT_FileName02, m_FileName02)创建的文件中,……,当其为0x19时放到(pDX, IDC_EDIT_FileName49, m_FileName49)和(pDX, IDC_EDIT_FileName50, m_FileName50)创建的文件中。 
传输的数据有一个字节的地址和800字节的数据,这800字节中有一部分是FileName01的,有一部分是FileName02的,而每一个文件中都有8种数据,也就是说800字节里要分成两部分存到两个文件中,每部分有四种数据,保存的时候要把它们分开。
 
程序写到这就是数据保存的问题,可我不会写了,请高手帮我看看怎么完善一下这个程序

解决方案 »

  1.   

    知道,假如A、B表示文件1、2、3、4,5,6,7,8表示不同类型的数据那么数据格式是:
    第一字节是地址,然后
    A--1: 80 字节
    A--2: 80 字节
    A--3: 80 字节
    A--4:80 字节
    B--1: 80 字节
    B--2: 80 字节
    B--3: 80 字节
    B--4: 80 字节
    B--5: 20 字节
    A--5: 20 字节
    A--6: 20 字节
    B--6: 20 字节
    A--7: 20 字节
    B--7: 20 字节
    A--8: 20 字节
    B--8: 20 字节
    总共801个字节
      

  2.   

    你的数据应该在一个数组中吧
    在数组中的排列方式就是你说的这个方式啊
    从数组中对应位置取出数据写文件就行了
    你要是不会写文件就搜搜CFile