C-sebb megoldás lenne, ha letárolnád az
1 << melyiket[k]
értéket, majd a beolvasott byte-ra már csak egy & kell és megkapod, hogy 1-es vagy 0. Nomeg karaktert se szokás fscanf-el beolvasni...
A hibára rátérve: long long csak a '99-es C szabványban jelent meg.
A gcc ismeri ezt a '89-es szabvánnyal is, de ott ez csak gcc feature.
Éppen ezért a libC printf-je nem biztos, hogy tudja, hogy mi az az %lld
(egyébként %llu kéne, mert unsigned).
Jobb ötletem nincs...
Egyébként meg amíg nem próbálkozol 4Gb-nál nagyobb fájlokkal, bőven elég az unsigned int.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o