回 帖 发 新 帖 刷新版面

主题:[讨论]字符拆解问题,来牛人指导下

FieldPtr pField = m_pTestResultSet->Fields->GetItem(_T("tTestReport"));
  
  int nFileLen = file.GetLength();
  int nBlock = nFileLen / BLOCK_SIZE;
  int nLeft  = nFileLen % BLOCK_SIZE;
  int i, j;
  for( i=0; i<nBlock; i++)
  {
   file.Read(cBlockBuf, BLOCK_SIZE);
   for(j=0; j<BLOCK_SIZE; j++)
   {
    if ( cBlockBuf[j]==0 )
    {
     cBlockBuf[j] = 1;
    }
   }
   cBlockBuf[BLOCK_SIZE] = '\0';

   varDataBlock.SetString((char *)cBlockBuf);
   pField->AppendChunk(varDataBlock);
  }
  file.Read(cBlockBuf, nLeft);

  for(j=0; j<nLeft; j++)
  {
   if ( cBlockBuf[j]==0 )
   {
    cBlockBuf[j] = 1;
   }
  }
  cBlockBuf[nLeft] = '\0';

  varDataBlock.SetString((char *)cBlockBuf);
  pField->AppendChunk(varDataBlock);

  m_pTestResultSet->Update();

 

 

找个强人,写一个与这个字符拆解相反的方法,
[em18]

回复列表 (共2个回复)

沙发

cBlockBuf的定义呢?是char*么?如果是的话,只要知道块的大小,逐块把里面的\1换成\0大体上就能得到原文了吧

板凳


//#define   BLOCK_SIZE         500
//#define   BLOCK_HOLD_SIZE    501
//BYTE  cBlockBuf[BLOCK_HOLD_SIZE];

我来回复

您尚未登录,请登录后再回复。点此登录或注册