【发布时间】:2017-10-24 10:04:05
【问题描述】:
我已将浮点数转换为将发送到服务器的 char 数组。我希望能够转换 char 数组,例如从 buffer[10]... 到 buffer [20] 转换回单个浮点数。我怎样才能做到这一点?我只知道如何使用 atoi 转换整个缓冲区,但由于我的 char 缓冲区将包含其他不相关的数据,我该如何选择性地为我的数组的某些部分执行此操作?
这就是我将浮点数转换为 char 数组的方式。
sprintf(game->buffer,"%f",game->man[playerNumber-48].x);
//printf("%s\n", game->buffer);
for(int i = 0; i<11;i++)
{
game->send_key_to_server[i+8] = game->buffer[i];
}
sprintf(game->buffer,"%f",game->man[playerNumber-48].y);
for(int i = 0; i<11;i++)
{
game->send_key_to_server[i+19] = game->buffer[i];
}
基本上我将我的玩家 x 和 y 坐标作为字符发送到服务器。
【问题讨论】:
-
请展示您已经尝试过的内容
-
与从浮动到字符串的方式相同,只是向后?
-
“将浮点数转换为字符数组” - 怎么样?不止一种方法来做到这一点
-
不仅需要查看您尝试了什么,还需要查看您如何从 float 到此数组,因为这将决定您如何返回。
-
所以你想使用 sprintf 从 float 转到 ascii 然后使用 scanf 从 ascii 转到 float。
标签: c arrays floating-point char converter