hex в bin
у меня есть файл в котором находятся hex значения:
FF
F2
B3
...
D3
как мне из этого файла сделать бинарный файл ?
есть функция HexToBin, но я не разобрался как ей пользоваться
как сделать:
у меня есть файл в котором находятся hex значения:
FF
F2
B3
...
D3
как мне из этого файла сделать бинарный файл ?
есть функция HexToBin, но я не разобрался как ей пользоваться
а бинарный файл это что-то вроде езешника? :-)
если ты точно знаешь, что каждое число HEX-файле находится в новой строке (как ты написал), то тогда так
FILE in = fopen(sljdklsjdklsjdkl, "r");
FILE out = fopen(sdkjsdlkjskjd, "w");
char str[5];
int w;
while(!feof(in))
{
fgets(str, 5, in);
sscanf(str, "%X", &w);
fwrite((void*)&w, sizeof(int), 1, out);
}
fclose(in);
fclose(out);
а бинарный файл это что-то вроде езешника? :-)
если ты точно знаешь, что каждое число HEX-файле находится в новой строке (как ты написал), то тогда так
FILE in = fopen(sljdklsjdklsjdkl, "r");
FILE out = fopen(sdkjsdlkjskjd, "w");
char str[5];
int w;
while(!feof(in))
{
fgets(str, 5, in);
sscanf(str, "%X", &w);
fwrite((void*)&w, sizeof(int), 1, out);
}
fclose(in);
fclose(out);
млин не правильно конвертит :(
почему char str[5]; а не 2 например ?
и почему fgets(str, 5, in); тоже 5 ?
просто файл hex
F0
F2
F0
F0
F0
F0
F0
F0
F1
F0
F1
F0
...
bin
F0 00 00 00 F2 00 00 00 F0 00 00 00 F0 00 00 00
F0 00 00 00 F0 00 00 00 F0 00 00 00 F0 00 00 00
F1 00 00 00 F0 00 00 00 F1 00 00 00 F0 00 00 00
F9 00 00 00 F6 00 00 00 F2 00 00 00 F1 00 00 00
F4 00 00 00 F4 00 00 00 F1 00 00 00 F3 00 00 00
F0 00 00 00 F2 00 00 00 F3 00 00 00 F2 00 00 00
F4 00 00 00 F7 00 00 00 F2 00 00 00 F5 00 00 00
F9 00 00 00 F3 00 00 00 C6 00 00 00 C6 00 00 00
C6 00 00 00 C6 00 00 00 C6 00 00 00 F0 00 00 00
вот если бы убрать эти три пары 00 (нулей)
всё должно быть окей
что исправить надо ?
что исправить надо ?
fwrite((void*)&w, sizeof(int), 1, out);
будет записывать по 4 байта за раз (размер int в системе)
сначало приведи считаное значение к типу char
char с=(char) w;
fwrite((void*)&c, sizeof(char), 1, out);