Czytanie ciagu liczb z pliku?!

0

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.

0

Jeszcze dopisalem sobie takie cos.... ale bledy takie same ;(

int znak;
        int r=0;
        input = fopen("tab.txt","r");
        while (!feof(input))
        {
           fscanf(input,"%d",&znak);
           tab1[r]=znak;
               r++;
        }

czesc powyzszego kodu znalazlem tu na forum

0

sprobuj tego, program potrafi wczytac tyle liczb ile ci sie w pamieci zmiesci :)

#include <stdio.h>
#include <vector>

using namespace std;

int main()
{
FILE *f;
vector<int> w;
char ch;
char chi[0];
if (!(f=fopen("liczby.txt","r+"))) {
printf("Nie moge otworzyc pliku\n");
return 0;
}

while ((ch=getc(f))!=EOF) {
chi[0]=ch;
w.push_back(atoi(chi));
}

for (int i=0;i<w.size();i++)
printf("%i ",w[i]);

printf("\n");

return 0;
}

0

Wszystko pieknie ale ja niestety nie mam tej biblioteki vector, pisze pod MV60 (pod jakim kompilatorem jest?)

0

Skompilowalem pod DEVc++ i niby dziala, tylko jak odpalam to sie od razu zamyka ;(

0

Juz wszystko OK! Serdecznie dziekuje!!!
Pod Visualem tez dziala ;;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0