Я хочу создать шестнадцатеричные числа в C, начиная с начального значения (начальное значение) 0706050403020100.Мой следующий номер должен быть 0f0e0d0c0b0a0908 и т. Д. Для следующей итерации.
Таким образом, я хочу сгенерировать числа, скажем, 1000 байтов.
1) как я могу сгенерировать эти шестнадцатеричные числа.
2) Как сохранить эти числа, если я хочу сравнить сгенерированные / произведенные шестнадцатеричные числа за символом с данными, доступными в буфере(динамический) с содержимым файла для чтения.
Any suggestions/answers are most welcome as i am still learning C language.
РЕДАКТИРОВАТЬ: Вот код, который я попробовал.
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *fp;
char *buffer, c;
size_t filesize, result;
int i, expected_data[];
fp = fopen("hex_data", "r");
if (fp == NULL) {
fputs("Error\n", stderr);
exit(1);
}
fseek(fp, 0L, SEEK_END);
filesize = ftell(fp);
printf("Size of hex_data file is:%u \n", filesize);
fseek(fp,0L,SEEK_SET);
buffer = (char*) malloc(sizeof(char)*filesize);
if(buffer == NULL){
fputs("\nMemory error ", stderr);
}
buffer_size = fread(buffer, sizeof(char), size, fp);
for(i=0; i < result; i++) {
printf("%c",*(buffer +i));
}
printf("No of elements read from file are:%u \n", buffer_size);
fseek(fp,0L,SEEK_SET);
int current_pos = 0;
while(current_pos < buffer_size) {
if (buffer[current_pos] != expected_data) {
fputs("Error\n",stderr);
}
else {
current_pos++;
expected_data = next_exp_data(data); //function is call hexadecimal numbers produced
}
}
Здесь я хочу написать функцию для генерации шестнадцатеричных чисел для1000 байтов, начиная с 0706050403020100. Если это исходные данные каждый раз, если я добавляю 08 к каждому байту, я должен получить следующее число (до 1000 байтов). Но я не знаю, как это сделать. Может кто-нибудь помочь мне.
Любые исправления в коде приветствуются.