我有字符串格式的纬度值,我想将 dd mm.mmmmm 纬度的 mmmmm 部分存储到 4 个无符号字符值中。然后想进行一些移位操作..
我的代码是:
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char latitude[11]="",temp[5]; unsigned char byt[4];int deg,min;
strcpy(latitude,"1234.99999N");
strncpy(temp,latitude,2);
deg = atoi(temp);
strcpy(temp,"");
strncpy(temp,latitude+2,2);
min = atoi(temp);
strcpy(temp,"");
strncpy(temp,latitude+5,5);
int min_frac_part = atoi(temp);
cout<<"minfrac : "<<min_frac_part<<"\n";
byt[3] = (min_frac_part >> 24) & 0xFF;
byt[2] = (min_frac_part >> 16) & 0xFF;
byt[1] = (min_frac_part >> 8) & 0xFF;
byt[0] = (min_frac_part) & 0xFF;
unsigned char input[2];
input[0] = (byt[1] << 2);
cout<<"input[0] is : "<<input[0]<<"\n";
return 0;
}
此输入 [0] 不正确..所以我无法将此 int 值分配给 4 个 unsigned char 值..此 byt 值也作为 unsigned char 传递给另一个函数..
最佳答案
关于c++ - 如何在 C++ 中将纬度的小数部分存储到 4 个无符号字符中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117109/