我用下面这一段代码来获本地主机名,在Debug下能得到本地主机名,可在Release下却没点反应了,这是怎么回事呢,请大虾指点。char cHost[256];
if (gethostname(cHost, strlen(cHost)) == 0)
{
AfxMessageBox((CString)cHost);
}
if (gethostname(cHost, strlen(cHost)) == 0)
{
AfxMessageBox((CString)cHost);
}
注意变量初始化!尤其是字符串和指针变量。
应该不会出现这种错误的~~~
我曾经也写过网络管理软件,也用到该函数,先是为:DEBUG下面没有问题,在Release下面也没有问题啊?
不知道你是怎么出现这种问题的~~
按你提供的方法,问题解决了,不过我还是不太清楚为什么会这样呢?能不能给我解释一下,先谢过了。
strlen(cHost)) //获取以0结尾的字符串的长度,但由于cHost内容为未知,所以长度未知....比较安全的写法为:
char cHost[256]={0};
if (gethostname(cHost, sizeof(cHost)) == 0)
{
AfxMessageBox((CString)cHost);
}