
char number[8];
我需要将它转换为实际的double(也有8个字节).基于我尝试过的建议,但它失败了:
std::cout<<(*((*double)number))<<" is my number.\n";
为什么会失败,我该怎么办?当然,我可以使用一些<<<<<<魔术,但我不想这样做 - 它会消耗内存并使代码过于健壮.
解决方法Why dID it fail?
你这里有一个错字.
std::cout<<(*((*double)number))<<" is my number.\n";
它应该是:
std::cout<<(*((double*)number))<<" is my number.\n";
and what should I do?
您可以减少使用的括号数.
std::cout<< *(double*)number <<" is my number.\n";
您应该使用C强制转换而不是C强化转换,因此很清楚您正在做什么.
std::cout<< *reinterpret_cast<double*>(number) <<" is my number.\n";总结
以上是内存溢出为你收集整理的c – 将char *转换为double – 作为字节全部内容,希望文章能够帮你解决c – 将char *转换为double – 作为字节所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)