mbstowcs_s导致我的程序崩溃

时间:2010-12-05 03:50:30

标签: c++ visual-c++

这是相关代码:

char c;
size_t buffer_size = 0;
wchar_t* wc = (wchar_t*) malloc(buffer_size);

int result = recv(this->m_socket, &c, 1, 0);
mbstowcs_s(&buffer_size, wc, buffer_size, &c, 1); // Something is wrong here

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您为wc分配了0个字节,并将该缓冲区传递给mbstowcs_s

答案 1 :(得分:0)

我有同样的问题。 问题出在rappresents的最后一个参数“wcstr缓冲区中存储的最大宽字符数,不包括终止空值或_TRUNCATE。”

http://msdn.microsoft.com/en-us/library/eyktyxsx%28v=vs.80%29.aspx