开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
STL
问题(Question):
从一个二进位制的档案读入资料将他转换成64bit-signed int
内容大概像这样
char s[9]={'\x00','\x00','\x00','\x6a','\x46','\xd2','\xdf','\x44'};
原本我是自己写一个函式用位元运算硬转 但因为是signed integer还有负数
处里很复杂 所以放弃自己写一个函式来转
有翻过cpp reference 似乎可以用stringstream来转换
但试验后 似乎必须是*s="0x0000006a46d2df44"这类的形式才能直接用stringstream转
有想过把'\xff'形式的字符转成"FF"后喂给stringstream
但似乎又有点多此一举 不知道是不是有什么更好的方法可以转换?
喂入的资料(Input):
char s[9]={'\x00','\x00','\x00','\x6a','\x46','\xd2','\xdf','\x44'};
(一个从档案读入的hex字串 00 00 00 6A 46 D2 DF 44 )
预期的正确结果(Expected Output):
456454758212
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):