gpt4 book ai didi

c++ - 从外部文件中读取字符串行并转换为十六进制

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:13 25 4
gpt4 key购买 nike

我对 C++ 还很陌生,但需要一些帮助。我正在尝试编写一个小函数,该函数从外部 .txt 文件中读取一行,然后将十六进制值写入一个 short int。

例子:

从外部文本文件读取的行:7c00

代码:

短端地址 = 0x7c00

我已经有了从外部文件读取行的代码,只需要知道如何将字符信息 (7c00) 保存到短 end_addr 中作为十六进制 0x7c00。

我想我也需要为它写保护,所以如果有太多字符(例如 7c0010)或不正确的字符(例如 zyx4),那么就会出现错误,但现在真的只需要转换算法方面的帮助.感谢您的帮助!

最佳答案

我建议查看 boost::lexical_cast 以获得简单的接口(interface)和正确的错误处理。

此代码不处理错误,但您可以通过验证是否已读取整行来添加错误处理。

#include <iostream>
#include <fstream>

int main()
{
std::ifstream f("some_file");
short x;
f >> std::hex >> x;
std::cout << "Hexadecimal value: " << std::hex << x << std::endl;
std::cout << "Decimal value: " << std::dec << x << std::endl;
}

说明 std::hex in C++ reference所以 std::hex 将默认基数更改为 16,而 std::dec 将其更改回 10。

关于c++ - 从外部文件中读取字符串行并转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11852305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com