Ładny brzuch

Witam!
Mam maly problemik. Potrzebuje zrobic wczytywanie ciagu znakow (liczb) z pliku do pewnej tablicy.
Moj pomysl jest nastepujacy...

if((input=fopen("tab.txt","r"))==NULL) {printf("\t!!! Nie mozna otworzyc!!!\n\n");}            else                {                                                               for(int c=0; ( c < M ) && ( feof( input ) == 0 );c++)                        {                                        fscanf(input,"%d",&tab1[c]);                                                        }                    }                                fclose(input);

Wszystko byloby OK, gdyby nie to ze ciag znakow jest czytany poprawnie do pewnego stopnia. Otoz.. potrzebuje zadac w pliku ciag znakow zero-jedynkowy np. 0011000111000
Niestety "0" nie jest czytane a to jest bardzo wazne?! Co mam zrobic aby te zera byly czytane rowniez?!

A i drugi problem.. moj ciag z pliku jest zapisywany do tablicy np. tab1[30], jesli w pliku zapodam ciag znakow ..."123456789". Program poprawnie wyswietla i przepisuje do tablicy, jednak gdy do 123456789 dodalem na koncu jeszcze raz 123456789 czyli 123456789123456789 zaczynaja sie dziac dziwne rzeczy, a przeciez rozmiar tablicy nie zostal przekroczony?!

Bede wdzieczny za kazda pomoc.
Byc moze ma ktos pomysl na proste szczytywanaie z pliku ciag liczb!!?

Pzdr.



A nie lepiej odczyta cay wiersz do stringa, a potem kady znak stringa skonwertowa do, np. int i umieci w tablicy?

IMHO zrb tak :)
if((input=fopen("tab.txt","r"))==NULL) {          printf("\t!!! Nie mozna otworzyc!!!\n\n"); }else{                 char buf;           for(int c=0; ( c < M ) && ( feof( input ) == 0 );c++){                             fscanf(input,"%c",&buf);                     tab1[c]=buf-'0';              }     }         fclose(input);
:)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •