include <stdio.h>
char *mem=(char*)malloc(256);
FILE *f=fopen("filename.exe","rb");
if (f) {
fread(mem,1,256,f);
fclose(f);
for (int i=0;i<256;i++) {
printf("0x%X\n",mem);
}
}
free(mem)
"Двоичная" проблема
1- Как можно прочесть из Бинарного Файла данные, например с середины, с 500 по 550, (т.е. всего 50 символов ) и если возможно "превратить" их в char или AnsiString;
и еще Один если не возражаете :
2- Возможно ли такое чтобы превратить Эти Символы в "100110" (двоичную систему) ?
Цитата:
Originally posted by Eddie P.
Здравствуйте, порыскал в Инете, очень мало что нашел насчет Работы с Двоичными Файлами, были примеры, но Они мне не помогли, у меня такой Вопрос :
1- Как можно прочесть из Бинарного Файла данные, например с середины, с 500 по 550, (т.е. всего 50 символов ) и если возможно "превратить" их в char или AnsiString;
и еще Один если не возражаете :
2- Возможно ли такое чтобы превратить Эти Символы в "100110" (двоичную систему) ?
Здравствуйте, порыскал в Инете, очень мало что нашел насчет Работы с Двоичными Файлами, были примеры, но Они мне не помогли, у меня такой Вопрос :
1- Как можно прочесть из Бинарного Файла данные, например с середины, с 500 по 550, (т.е. всего 50 символов ) и если возможно "превратить" их в char или AnsiString;
и еще Один если не возражаете :
2- Возможно ли такое чтобы превратить Эти Символы в "100110" (двоичную систему) ?
1 - TFileStream.
2 - Да. IntToBin, хотя и самому не сложно.
Цитата:
Originally posted by lord Kelvin
1 - TFileStream.
2 - Да. IntToBin, хотя и самому не сложно.
1 - TFileStream.
2 - Да. IntToBin, хотя и самому не сложно.
1 - Спасибо ОГРОМНОЕ
2 - А Как самому Можно ?
Все файлы двоичные. Текстовые файлы тоже, просто существует такая договореность, что каждая строка заканичвается кодом 10 и/или 13. Текстовые символы - это один байт, от 32 (пробел) до 255 (русская "я" в кодировке windows-1251)
В разных кодировках символам соотвествуют разные коды.
Символы с кодом до 127 неизменны в любых кодировках.
Кодировки бывают многобайтовые, например Unicode, UTF-8, JIS, Shift-JIS, EUC.
Даже в многобайтовых кодировках символы с кодами до 127 неизмены.
Работать с двоичными данными просто. Можно, например, считывать их в определенный участок памяти и там работать как с массивом. Вот пример:
(набран прямо тут, могут быть ошибки)
Код:
Пример выводит первые 256 байт файла filename.exe