我写的一个程序是要把通过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<0x33;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, 800); SI_Read(m_hUSBDevice,bufRead,800,&bytes_returned,NULL);
int id_curcit_board=int(bufRead[0]);     }
}
}
读的时候bufRead[0]地址,当其为0x01时放到(pDX, IDC_EDIT_FileName01, m_FileName01)创建的文件中,……,当其为0x32时放到(pDX, IDC_EDIT_FileName50, m_FileName50)创建的文件中。
请高手指点怎么在上面的程序中做啊???

解决方案 »

  1.   

    将IDC_EDIT_FileName01到 IDC_EDIT_FileName50 在Resource.h文件中定义为连线的ID,比如,IDC_EDIT_FileName01的ID为101,那么IDC_EDIT_FileName02的ID为102,同理,IDC_EDIT_FileName50的ID为150;
    这样,你每次可以这样做:
    CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT_FileName01+bufRead[0]-1); 
    CString FileName; 
    pEdit->GetWindowText(FileName); 
    CFile File(FileName,CFile::modeCreate|CFile::modeReadWrite); 
    然后写到文件!
      

  2.   

    文件名有何规律?
    是不是:
    char buff[256];
    .
    .
    .int id_curcit_board=int(bufRead[0]);
    sprintf(buff, "fileName%d.dat", id_curcit_board);
      

  3.   

    弄个循环,对你的控件ID进行范围的for()
    里面进行SetDlgItemText
      

  4.   

    #define IDC_EDIT_FileName01             1000
    #define IDC_EDIT_FileName02             1001



    #define IDC_EDIT_FileName50             1049
    建立了50个文件
    for(int i=1000;i<=1049;i++) 
            {
    CEdit* pEdit=(CEdit*)GetDlgItem(i);
    CString FileName;
    pEdit->GetWindowText(FileName);
    if(FileName.GetLength() != 0) 
    CFile File(FileName + L".txt",CFile::modeCreate|CFile::modeReadWrite); 
    }
    读的时候bufRead[0]地址,当其为0x01时800字节的数据放到(pDX, IDC_EDIT_FileName01, m_FileName01)和(pDX, IDC_EDIT_FileName02, m_FileName02)创建的文件中,……,当其为0xfa时放到(pDX, IDC_EDIT_FileName49, m_FileName49)和(pDX, IDC_EDIT_FileName50, m_FileName50)创建的文件中。 
    这800字节中有一部分是FileName01的,有一部分是FileName02的,而每一个文件中都有8种数据,也就是说800字节里要分成两部分存到两个文件中,每部分有四种数据,保存的时候要把它们分开。
    这需要怎么做呢??
      

  5.   

    用for分解成最小的单位,然后按需求存文件里面