recv()C错误从char到int的转换无效

recv()C错误从char到int的转换无效,c,linux,type-conversion,recv,C,Linux,Type Conversion,Recv,我有一些C代码如下: char update[MAX_UPDATE_LEN]; int remoteLen; char pholder; pholder = recv(update,connectDescriptor,MAX_UPDATE_LEN,MSG_DONTWAIT); //error remoteLen = atoi("pholder"); 我不断发现以下错误: client.cpp:849: error: invalid conversion from `char*' to `in

我有一些C代码如下:

char update[MAX_UPDATE_LEN];
int remoteLen;

char pholder;
pholder = recv(update,connectDescriptor,MAX_UPDATE_LEN,MSG_DONTWAIT); //error
remoteLen = atoi("pholder");
我不断发现以下错误:

client.cpp:849: error: invalid conversion from `char*' to `int'

client.cpp:849: error: initializing argument 1 of `ssize_t recv(int, void*, 
size_t, int)'

client.cpp:849: error: invalid conversion from `int' to `void*'

client.cpp:849: error: initializing argument 2 of `ssize_t recv(int, void*, 
size_t, int)'

导致这些错误的原因是什么?

此代码有几个问题:

char update[MAX_UPDATE_LEN];
int remoteLen;

char pholder;
pholder = recv(update,connectDescriptor,MAX_UPDATE_LEN,MSG_DONTWAIT); <-- error here
remoteLen = atoi("pholder");

在做了一些小的调整并使用了Atoi之后,我也开始工作了。谢谢如果您对答案满意,请将问题标记为“已回答”
char update[MAX_UPDATE_LEN];

const int flags = MSG_DONTWAIT;
const ssize_t ret = recv(connectDescriptor, update , sizeof(update), flags);
if (-1 == ret)
{
    perror("recv");
    exit(1);
}
const int remoteLen = strtol(update, update + sizeof(update), 0);