Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将十六进制数写入文件_C++ - Fatal编程技术网

C++ 将十六进制数写入文件

C++ 将十六进制数写入文件,c++,C++,如何将十六进制数的字符串表示形式写入文件?例如,如果我有一个十六进制值0x001A(它是十进制的26),我希望它作为十六进制字符串0x001A写入文件,而不是作为十进制字符串26或原始字节流写入文件。可以使用std::hex修饰符强制十六进制写入数字: std::cout << std::hex << 10 << std::endl; 将精确打印“0x00A”您可以使用std::hex修饰符强制十六进制写入数字: std::cout << std

如何将十六进制数的字符串表示形式写入文件?例如,如果我有一个十六进制值
0x001A
(它是十进制的
26
),我希望它作为十六进制字符串
0x001A
写入文件,而不是作为十进制字符串
26
或原始字节流写入文件。

可以使用
std::hex
修饰符强制十六进制写入数字:

std::cout << std::hex << 10 << std::endl;

将精确打印“0x00A”

您可以使用
std::hex
修饰符强制十六进制写入数字:

std::cout << std::hex << 10 << std::endl;

将准确打印
“0x00A”

您如何查看该文件?我很确定,它“存储”为十六进制值,但只是选择将其显示为十进制。你试着用另一个C++例程读取它,然后做逻辑比较吗?你如何看待文件?我很确定,它“存储”为十六进制值,但只是选择将其显示为十进制。你是否尝试用另一个C++例程读取它,然后做逻辑比较?注意,当状态在输出之后不清楚时,你需要关闭“十六进制模式”;使用
std::dec
切换回十进制表示法。但是,
std::setfill
std::width
在一次输出后会自动清除,因此每次输出每个数字之前都需要使用它们。制作一个临时的
std::stringstream
,设置其上的标志,然后将流的
.str()
发送到
std::cout
,这通常很有用,因此,
cout
的状态不会被修改。请注意,您需要关闭“十六进制模式”,因为单次输出后状态不清晰;使用
std::dec
切换回十进制表示法。但是,
std::setfill
std::width
在一次输出后会自动清除,因此每次输出每个数字之前都需要使用它们。制作一个临时的
std::stringstream
,设置其上的标志,然后将流的
.str()
发送到
std::cout
,这通常很有用,这样就不会修改
cout
的状态。