Замена байта (HEX) в файле

1. Их нет в языке. Эти типы данных существуют только на уровне заголовочников. Без заголовочников ГЦЦ и Шланг не компилируют:

CВыделить код

1
2
3
4
5

int main()
{
    int8_t retval = 3;
    return (int)retval;
}

main.c: In function 'main':
main.c:3:2: error: unknown type name 'int8_t'
    3 |  int8_t retval = 3;
      |  ^~~~~~

main.c:3:2: error: use of undeclared identifier 'int8_t'
        int8_t retval = 3;
        ^

Или вы всерьёз считаете, что какой‐нибудь typedef добавляет в язык новый тип данных?

2. Не очень понятно, почему вы символьный тип данных занесли в категорию целочисленных. Во‐первых, равенство char и 8 бит не гарантируется, во‐вторых, тогда и тип String можно считать байтом, потому что строка состоит из байт, как и float и double.