-1

我有一个代码,每次启动时优化编译器总是失败。

char* GetWinSockVersion()
{
    char *tmpData = (char*)malloc(sizeof(wsaData.wVersion));
    _itoa_s<wsaData.wVersion>(wsaData.wVersion, tmpData, 10);
    return tmpData;
}

它确实失败了_itoa_s。我很感兴趣,为什么它总是失败?

4

1 回答 1

3

您没有正确使用该功能。

_itoa_s需要 4 个参数。

此函数旨在与 一起使用c,因为c++您有流。

您的代码应该更像(假设wsaData.wVersion是一个数字)

char *tmpData = (char*)malloc(sizeof( char ) * 80 );
_itoa_s(wsaData.wVersion , tmpData , 80 , 10);

//_itoa_s(number to convert , target string, size of target string, number base);
于 2013-03-31T23:59:20.053 回答