用VC++ 60新建一个Win32 Dynatic Link Library工程,发现CString 不能使用,这还可以忍受,我用char *来操作。
但是后来发现我需要格式化时间字符串,辛苦找的代码在Win32 DLL里面也编译不了。但在MFC Exe工程里管用啊。
问题一:
//转换日期格式:
        SYSTEMTIME time;
        GetLocalTime(&time);       
        char szTime[20];    //2005-01-01 19:20:20  占19位,加上最后一个字符串结束符'\0',总共是20位
        _stprintf(szTime, _T("%04d-%02d-%02d %02d:%02d:%02d"),time.wYear, time.wMonth, time.wDay,time.wHour, time.wMinute, time.wSecond);   
        szTime[20]='\0';
        AfxMessageBox(szTime,MB_OK,0);
那么在Win32 DLL里,我怎么实现字符串的格式化呢!!,注意是输出到char *的变量里。问题二:
还有一个问题,我想实现字符串与整型数连接起来,最后形成一个字符串类型的变量,怎么弄啊!!
例如我想把"这是为什么" + 10000,合并起来为"这是为什么10000"

解决方案 »

  1.   

    问题三:
    win32 DLL里面是不是不能使用线程!!??
    因为要使用AfxBeginThread的话,要引用Afxwin.h的吧?但我试了,只要引用该.h文件,编译就报错,怎么回事!!??
      

  2.   

    CString是MFC的类,在WIN32中不能使用
    1.使用sprintf
    2.使用sprintf
    char temp[100];
    sprintf(temp,"这是为什么%d",100000);
    3.使用CreateThread来创建,或者使用_beginthreadex来创建
      

  3.   

    可以,你要选择MFC支持就可以了。
      

  4.   

    参考:在非MFC程序中引用CString
    http://www.vckbase.com/document/viewdoc/?id=1437
      

  5.   

    2.CString都能使用了,这个问题就不存在了吧。或者使用:
    char *_itoa( int value, char *string, int radix );
    3.使用CreateThread来创建,或者使用_beginthreadex来创建
      

  6.   

    在哪里设置用MFC支持??  在新建Win32 DLL里时,好像没有这个开关呀