从外部文件读取字符串行并转换为十六进制 我对C++缺乏经验,但可以使用一些帮助。我试图编写一个小函数,从外部.txt文件中读取一行,然后将十六进制值写入一个短int
例如: 从外部文本文件读取的行:7c00 代码: 短端地址=0x7c00 我已经有了从外部文件读取该行的代码,只需要知道如何将字符信息(7c00)保存到短end_addr中,作为十六进制0x7c00从外部文件读取字符串行并转换为十六进制 我对C++缺乏经验,但可以使用一些帮助。我试图编写一个小函数,从外部.txt文件中读取一行,然后将十六进制值写入一个短int,c++,char,hex,type-conversion,C++,Char,Hex,Type Conversion,例如: 从外部文本文件读取的行:7c00 代码: 短端地址=0x7c00 我已经有了从外部文件读取该行的代码,只需要知道如何将字符信息(7c00)保存到短end_addr中,作为十六进制0x7c00 我想我也需要为它写保护,如果有太多的字符(如7c0010)或不正确的字符(如zyx4),那么就会有错误,但现在真的需要转换算法的帮助。谢谢你的帮助 我建议研究一下boost::lexical_cast以获得简单的界面和正确的错误处理 这段代码不处理错误,但您可以通过验证是否读取了整行代码来添加错误处
我想我也需要为它写保护,如果有太多的字符(如7c0010)或不正确的字符(如zyx4),那么就会有错误,但现在真的需要转换算法的帮助。谢谢你的帮助 我建议研究一下
boost::lexical_cast
以获得简单的界面和正确的错误处理
这段代码不处理错误,但您可以通过验证是否读取了整行代码来添加错误处理
#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;
}
#包括
#包括
int main()
{
std::ifstream f(“some_文件”);
短x;
标准:十六进制>>x;
谢谢!我为我的代码稍微修改了一下,效果很好!