c++怎么将txt里的16进制还原?

发布网友

我来回答

1个回答

热心网友

经过一些探索,这是一段字符串传成16进制后的结果。还原完效果如图:



代码如下:

#include <iostream>

using namespace std;

int hex_char_to_int(char hex_char)

{

    if (hex_char >= 'a' && hex_char <= 'f')

        return (hex_char-'a') + 10;

    return hex_char-'0';

}


int main()

{

    char s[100];

    FILE *f = fopen("aa.txt", "rb");

    fread(s, 40, 1, f);

    fclose(f);

    

    char decoded[21];

    decoded[20]='\0';

    

    for (int i = 0; i < 20; i ++)

    {

        decoded[i] = (hex_char_to_int(s[i*2]) * 16 + hex_char_to_int(s[i*2+1]));

    }

    

    cout << decoded << endl;

    return 0;

}

追问控制台一闪而过
能将输出的内容直接覆盖aa.txt吗

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com