Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.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+中的数据和时间格式+;_C++ - Fatal编程技术网

C++ c+中的数据和时间格式+;

C++ c+中的数据和时间格式+;,c++,C++,我需要转换17字节格式的日期时间 格式是 MMDDYYYY HH:MM:SS 用ASCII码 示例日期和时间:01212009 09:38:57 十六进制格式 0x30 0x31 0x32 0x31 0x32 0x30 0x30 0x39 0x20 0x30 0x39 0x3A 0x33 0x38 0x3A 0x35 0x37 问题是如何将此01212009 09:38:57转换为十六进制格式。我需要通

我需要转换17字节格式的日期时间

格式是

MMDDYYYY HH:MM:SS
用ASCII码

示例日期和时间:01212009 09:38:57

十六进制格式

0x30    0x31    0x32    0x31    0x32    0x30    0x30    0x39
0x20    0x30    0x39    0x3A    0x33    0x38    0x3A    0x35    0x37

问题是如何将此01212009 09:38:57转换为十六进制格式。我需要通过网络发送此日期时间。

您发布的十六进制值正是您发布的字符串的ascii值,
01212009 09:38:57

在您的示例中,实际上没有从该字符串到十六进制值的转换

所以如果你有这个:

const char* dateStr = "01212009 09:38:57";
您可以这样打印:

for (int i=0; i < strlen(dateStr); ++i)
{
    printf("%x\t", dateStr[i]);
}
for(int i=0;i
(或者类似的事情)
您将基本上获得这些值。

您只是将它们显示为十六进制值,而不是它们的字符表示形式

我实际上不知道你在哪个平台上工作。我认为,在标准平台C++库中,代码> iToA./COD>函数应该存在于所有平台上。使用它将字符值转换为十六进制。只需将
基数
参数设置为16

您将表单与表示混淆

仅仅因为我们传统上以十六进制格式表示“原始字节”,并不意味着它们以这种方式“存在”

无论您将数据显示为ASCII字符串“01212009 09:38:57”还是显示为细分的单个字节值列表,它仍然是相同的数据,仍然是17个字节


因此,这里不需要进行转换。

实现了吗?转换成?预期投入?这个问题很模糊。你有什么格式?你想要什么格式。向我们展示你将要调用的函数。还有,你已经尝试了什么?最后,如果是作业,请贴上标签。你有什么问题?在你的问题中,十六进制数据和它的字符串表示是相同的。我希望逻辑将01212009 09:38:57转换为17字节格式。