none
sprintf问题 RRS feed

  • 问题

  • char sSQL[100]; SYSTEMTIME st; GetLocalTime(&st); sprintf(sSQL,"%s","insert into ZDdata values(0.12,1.2,1.3,1.0,st)"); 这句有问题,正确的sprintf该怎么写?
    2011年11月1日 8:26

答案

  • sprintf( char *buffer, const char *format, ... );//语法
    sprintf(sSQL,"insert into ZDdata values(0.12,1.2,1.3,1.0,st)");
    干嘛要加“%s”,本来就是字串直接放上去就可以了.
    • 已标记为答案 Rob Pan 2011年11月9日 9:35
    2011年11月2日 0:38
  • char sSQL[100];

    SYSTEMTIME st;

    GetLocalTime(&st);

    sprintf(sSQL, "insert into ZDdata values(0.12,1.2,1.3,1.0, TODATE(YYYYMMDD, '%04d%02d%02d')", st.wYear, st.wMonth, st.wDay);

     

    差不多就是这么个意思:)SQL转换日期可能语法有错误,记不得了 


    0xBAADF00D
    • 已标记为答案 Rob Pan 2011年11月9日 9:35
    2011年11月2日 2:35
    版主

全部回复

  • 有什么问题呢?编译出错?还是警告sprintf函数不安全呢?
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年11月1日 9:12
    版主
  • sprintf( char *buffer, const char *format, ... );//语法
    sprintf(sSQL,"insert into ZDdata values(0.12,1.2,1.3,1.0,st)");
    干嘛要加“%s”,本来就是字串直接放上去就可以了.
    • 已标记为答案 Rob Pan 2011年11月9日 9:35
    2011年11月2日 0:38
  • char sSQL[100];

    SYSTEMTIME st;

    GetLocalTime(&st);

    sprintf(sSQL, "insert into ZDdata values(0.12,1.2,1.3,1.0, TODATE(YYYYMMDD, '%04d%02d%02d')", st.wYear, st.wMonth, st.wDay);

     

    差不多就是这么个意思:)SQL转换日期可能语法有错误,记不得了 


    0xBAADF00D
    • 已标记为答案 Rob Pan 2011年11月9日 9:35
    2011年11月2日 2:35
    版主