0

我在 C 语言的 udp 服务器上收到一个二进制 64 位浮点数。我无法将接收二进制浮点数的 char 数组 buf 转换为数字。有任何想法吗?

rc=recvfrom(s,buf,9,0,(SOCKADDR*)&remoteAddr,&remoteAddrLen);
if(rc==SOCKET_ERROR) {
  printf("Fehler: recvfrom, fehler code: %d\n",WSAGetLastError());
  system("Pause");
  return 1;
} else {
  printf("%d Bytes empfangen!\n", rc);
  buf[rc]='\0';
}
printf("Empfangene Daten: %s\n",buf);
4

1 回答 1

0

我有解决方案。我发送二进制代码...例如 dezimal 322 ..如果我用 32 位整数发送它,它有 32 位...我将它作为字符接收。一个字符长 8 位...对于十进制 322 我reiceve 0 0 1 66... 因为二进制代码是 00000000 00000000 00000001 01000010 每个 Char[3] 代表 0 char[2] 为 0 Char[1] 是 2 而 char[0] 是 66... 每个 Char代表他自己的 8 位十进制数。你明白吗?

于 2013-06-26T22:47:10.410 回答