Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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++缺乏经验,但可以使用一些帮助。我试图编写一个小函数,从外部.txt文件中读取一行,然后将十六进制值写入一个短int_C++_Char_Hex_Type Conversion - Fatal编程技术网

从外部文件读取字符串行并转换为十六进制 我对C++缺乏经验,但可以使用一些帮助。我试图编写一个小函数,从外部.txt文件中读取一行,然后将十六进制值写入一个短int

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

例如:

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

代码:

短端地址=0x7c00

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


我想我也需要为它写保护,如果有太多的字符(如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;

谢谢!我为我的代码稍微修改了一下,效果很好!