У меня есть текстовый файл, который выглядит следующим образом:
0000000000000000 0000000000000000
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
3000000000000000 1000000000000001
1111111111111111 1111111111111111
0123456789ABCDEF 1111111111111111
1111111111111111 0123456789ABCDEF
0808080808080808 0000000000000000
FEDCBA9876543210 0123456789ABCDEF
7CA110454A1A6E57 01A1D6D039776742
0131D9619DC1376E 5CD54CA83DEF57DA
Как лучше всего читать их при использовании C?Моя первая попытка использовать fscanf()
для чтения их в int
переменных, но это 64-битные шестнадцатеричные значения, поэтому тип int
слишком мал, чтобы прочитать их полностью, а часть значений была усечена.
Моя попытка:
while( fscanf(infile, "%x %x", &key, &plaintext) != EOF )
{
printf("%x\t\t%x\n", key, plaintext);
}
Достаточно ли большой тип, чтобы держать его в C?Если нет, каковы мои другие варианты хранения?Символьные массивы?
Спасибо
Обратите внимание, что я использую ANSI C с GCC 4.5.2 (MinGW)