我想使用strerror_r从套接字函数中获取错误,但代码没有编译。我得到的错误为invlaid conversion from char * to an int
。我在我的代码中包含了errorno.h
和string.h
,我使用的是运行在Ubuntu 12.04上的eclipse ide。代码如下。编译错误,同时获取c代码中的错误号
int err;
char buffer[50];
result=connect(socketHandle, (struct sockaddr *)&remoteSocketInfo, sizeof(sockaddr_in));
if(result==0)
{
printf("\n connect success ");
}
else if(result==-1)
{
err = strerror_r(errno,buffer,50);// error in place
printf("%d",err);
}
'strerror_r'返回'char *'而不是'int'。 –
“我在我的代码中包含了'errorno.h'和'string.h'” - 然后请向我们展示带有'#include'指令的代码。显示(复制粘贴)代码比描述代码的外观总是更好。 (如果你真的包含'errorno.h',你会得到一个错误信息;它是'errno.h'。)请复制并粘贴错误消息,而不是重新输入。看似微妙的细微差别可能很重要。 http://sscce.org/ –