【发布时间】:2014-04-09 06:48:05
【问题描述】:
我正在 Windows Visual Studio 中开发一个 UDP 套接字程序。 我收到 sprintf 语句的错误。如何纠正它? 我的代码是:
for (i = 0; i < 30;i++) //take-off
{
printf("send AT*REF:take off\n");
sprintf(command, "AT*REF=%d,290718208\r", seq++);
rc = sendto(sd, command, strlen(command) + 1, flags, (struct sockaddr *) &droneAddr, sizeof(droneAddr));
if (rc<0) {
printf("%s: can not send data\n", argv[0]);
return(1);
}
}
我得到的错误是:
Error 1 error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Error 1 error LNK2019: unresolved external symbol __imp__bind@12
Error 2 error LNK2019: unresolved external symbol __imp__htonl@4 referenced in function _main
Error 3 error LNK2019: unresolved external symbol __imp__htons@4
Error 4 error LNK2019: unresolved external symbol __imp__sendto@24
Error 5 error LNK2019: unresolved external symbol __imp__socket@12
Error 6 error LNK2019: unresolved external symbol __imp__gethostbyname@4
Error 7 error LNK1120: 6 unresolved externals
【问题讨论】:
-
你试过按照编译器告诉你的去做吗?
-
是的,我试过了。它给出了很多错误。错误 1 错误 LNK2019:无法解析的外部符号 __imp__bind@12 错误 2 错误 LNK2019:无法解析的外部符号 __imp__htonl@4 在函数 _main 中引用 错误 3 错误 LNK2019:无法解析的外部符号 __imp__htons@4 错误 4 错误 LNK2019:无法解析的外部符号 __imp__sendto@24 错误 5错误 LNK2019:未解析的外部符号 __imp__socket@12 错误 6 错误 LNK2019:未解析的外部符号 __imp__gethostbyname@4 错误 7 错误 LNK1120:6 个未解析的外部
-
一个不相关的提示:当一个函数返回一个错误时(比如当
sendto返回rc < 0),那么告诉用户what可能是个好主意错误是。它肯定会帮助您了解出了什么问题。阅读WSAGetLastError。 -
编译器错误,和你的链接器错误无关。实际上请尝试使用 sprintf_s 代替。
-
另一个不相关的事情:你确定只有回车会被接受为换行符吗?不是回车和换行序列
"\r\n"?
标签: c++ visual-studio printf