把format函数当成sprintf()函数即可,有问题吗?strRet.Format("格式串",...)  等同
sprintf(strRet,"格式串",...)

解决方案 »

  1.   

    void Format( LPCTSTR lpszFormat, ... );
    void Format( UINT nFormatID, ... );
    参数
    lpszFormat    一个格式控制字符串。
    nFormatID    包含格式控制字符串的字符串资源标识符。
    说明
    此成员函数用来将格式化数据写入一个CString中,其方法就像sprintf函数向一个C-风格的字符数组中格式化输出数据一样。这个成员函数在CString中格式化并存储一系列字符和值。根据lpszFormat中指定的格式或nFormatID标识的字符串资源,函数中的每一个可选参数(如果有)都被转换并输出。如果此字符串对象本身是作为Format的一个参数,则调用将失败。
    例如象下面的代码:
    CString str = 揝ome Data?str.Format(?s%d?str, 123);  //注意:在参数列表中也使用了str。
    将导致不可预期的结果。
    当你传递一个字符串作为一个可选择的参数时,你必须显式地将它转换为LPCTSTR。这个格式与printf函数中的格式参数具有相同的形式和函数。
    后者我没找到具体介绍