Java在C中读取Int()等效?

时间:2010-10-14 14:38:22

标签: java c linux sockets inputstream

在一方面,我有一个Java客户端在其输出流中写入:

int a = 20;
dataout.writeInt(a);
dataout.flush();

从另一方面,我有一个C服务器监听连接:

int client = accept(...);

如何读取Java发送的int?

如果我有一台Java服务器,我可以轻松地写一下:

int a = dataIn.readInt();

如何在C中执行此操作?

感谢

3 个答案:

答案 0 :(得分:1)

将其读入char缓冲区并使用atoi()将字符串转换为int。

答案 1 :(得分:0)

你可以使用read函数,但是你必须小心从socket中使用sizeof(int)字符,然后你必须担心endianess。

答案 2 :(得分:0)

如果你不介意用纯文本发送,

fscanf应该有效:

fscanf(dataIn, "%d", &a);

纯文本规则:-) 请确保在刷新之前从源发送'\ n'(或不是数字的东西)。