下面这个为什么是死循环? 我想如果不足64个字节就补充到64个字节, 该怎么做呢? 谢谢CString m_FileHeadInfo;
m_FileHeadInfo = "test.exe";
while(m_FileHeadInfo.GetLength() < 64)
{
m_FileHeadInfo += CString("\0");
}

解决方案 »

  1.   

    '\0'是结束符,所以循环并没有增加字符串的长度
    每次GetLength都获得相同的值,所以--死循环。你要补足64个字节,用什么字符补?
      

  2.   

    CString是字符串类,不是字符数组类。
    一个字符串,概念上只能有一个'\0'。
    请改用64字节的字符数组。
      

  3.   

    CString m_FileHeadInfo;
    m_FileHeadInfo = "test.exe";
    while(m_FileHeadInfo.GetLength() < 64)
    {
    m_FileHeadInfo += CString(" ");//用空格补吧,到时用TrimRight就可以复原
    }