我想使用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/ –