其实不止是Format,还有Sprintf等,我想要一个字符串如:         '%xx%'
中间的xx代表一个数字,单引号和百分号都是字符串的一部分。如何一句format成一个字符串,(不要说一个字符一个字符的等于进去)。

解决方案 »

  1.   

    For example1:
    int a=10;
    float b=10.00;
    char* test="asdfsf";
    CString str;
    str.Format("%d, %f, %s", a, b, test);For example2:
    #include <stdio.h>void main( void )
    {
       char  buffer[200], s[] = "computer", c = 'l';
       int   i = 35, j;
       float fp = 1.7320534f;   /* Format and print various data: */
       j  = sprintf( buffer,     "\tString:    %s\n", s );
       j += sprintf( buffer + j, "\tCharacter: %c\n", c );
       j += sprintf( buffer + j, "\tInteger:   %d\n", i );
       j += sprintf( buffer + j, "\tReal:      %f\n", fp );   printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
    }
      

  2.   

    CString str;
    str.Format(_T("%c"), "%xx&");
      

  3.   

    int a=65;
    CString str;
    str.Format("%c%d%c", '%', a, '%');
    MessageBox(str, MB_OK);
      

  4.   

    void Format( LPCTSTR lpszFormat, ... );具体format的设置见msdn,有详细的描述。
      

  5.   

    int a=65;
    CString str;
    str.Format("%s%d%s", "'%", a, "%'");
    MessageBox(str, MB_OK);
      

  6.   

    CString Str;
    Str.Format("'%%xx%%'");
    这样就可以了
      

  7.   

    理解是否正确?char * str = " '%xx%' ";
    CString szTemp;
    //szTemp = str;
    szTemp.Format("%s",str);
      

  8.   

    看来大家没有理解好我的意思,事实上format我知道用,只是 '%xx%' 这个格式我转换不了,用的是jiangping_zhu(娜可露露之风之刃)的方法
    str.Format("\'%%.2d%%\'",15);其中xx为一个整型值,在转换单引号时,系统报错,
      

  9.   

    str.Format("\'%2d\%\'",5); ->',5%'
    str.Format("\'\%27\%\'");->'%27%'
      

  10.   

    to aben456(风轻扬) 你的第一个少了一个%号,
    第二个数字是写死的,好像都和我的想法不同。
      

  11.   

    hjian79(健)老兄,你写错了,不是我得代码不对,是你看漏了,前一个是3个%,后面是2个%,
    str.Format("\'%%%02d%%\'",15);祝好运!!!!!!!!!!!!
      

  12.   

    int i = 1;
    CString strTest;
    strTest.Format("\'%%%2d%%\'", i); i = 12;
    strTest.Format("\'%%%2d%%\'", i);
      

  13.   

    strTest.Format("'%%%2d%%'", i);
    也可以。