变量转字符串类型然后再将多个字符串拷贝进字符串出现报错

将时间整形变量转成字符串类型然后再让多个字符串拷贝进输出的字符串里,报错了

下面是截取的代码

 int timeNum=0;
//设置文字
            settextstyle(80, 0, _T("楷体"));
            //秒数输出部分
            TCHAR timeout[150];
            size_t long_timeout = (size_t)((_tclen(timeout) + 1) * (int)sizeof(TCHAR));
            TCHAR Tminute[100], Tsec[20];
            size_t long_Tminute= (size_t)((_tclen(Tminute) + 1) * (unsigned int)sizeof(TCHAR));
            size_t long_Tsec = (size_t)((_tclen(Tsec) + 1) * (unsigned int)sizeof(TCHAR));
            _stprintf_s(Tminute, long_Tminute, _T("%d"), timerNum / 60);
            //_swprintf(Tminute, _T("%d"), timerNum / 60);原型,不安全
            _stprintf_s(Tsec, long_Tsec, _T("%d"), timerNum % 60);
            //_swprintf(Tsec, _T("%d"), timerNum % 60);原型,不安全
            wcscat_s(timeout, long_timeout, Tminute);
            wcscat_s(timeout, long_timeout, _T(" : "));
            wcscat_s(timeout, long_timeout, Tsec);

报错提示:

img

知道的人能告诉我这是什么问题吗,怎么解决,谢谢

将_T(" : ")先赋值给一个TCHAR 数组再试试呢


size_t long_timeout = (sizeof(timeout)/sizeof(TCHAR)) ;
_stprintf_s(timeout, long_timeout, _T("%d:%d"), timeNum / 60,timeNum % 60);
_tprintf(_T("%s"), timeout);

可以看下cpp参考手册中的 c++-字符串