N#N#N#NNNN#NN#NN#N#C
N#N#N#NNNN#NN#NN#N#C
...
Gdzie N oznacza cyfrę i C oznacza dowolną (no, powiedzmy do 100) liczbę znaków (liczba linii dowolna). Stwierdziłem, że zrobię 2 tablice, jedna przechowująca cyfry, druga znaki (opis). By lepiej zrozumieć, chodzi o wydarzenia (cyfry oznaczają godzinę, datę etc).
Napisałem algorytm, który dzieli je na linie jako osobne wydarzenia, a te z kolei dzieli na informacje (podzielone #):
int i,event=0,inf=0,znak=0;
int data[lines][6];
char data_s[lines][100];
// EXPORT OF EVENTS INTO ARRAYS
for(i=0; (all[i]=fgetc(fp)) != EOF; ++i)
{
if(all[i] != '#' && all[i] != '\n') // When next character of information comes
{
if(inf==7) // When information is description
{
data_s[event][znak] = all[i];
}
else
{
if(znak==0) // When first character comes
{
data[event][inf] = 0;
}
data[event][inf] = data[event][inf]*10+(int)all[i];
}
}
if(all[i] == '#') // When new information starts
{
++inf;
znak=0;
}
if(all[i] == '\n') // When new event starts
{
++event;
inf=0;
znak=0;
}
}
Jednak kod nie ma zamiaru działać - wyrzuca ogromne liczby. Uczę się dopiero programować i możliwe, że coś pomijam. Wcześniej wrzucałem wszystko do jednej tablicy trzywymiarowej, w której trzecią wartością był nr znaku informacji, ale potrzebuję wartości int więcej niż jednocyfrowych (jak np. rok), a nie ciągu czterech cyfr.
Proszę o pomoc.
Pozdrawiam
Edit: oczywiście plik tekstowy jest już otwarty
Ten post był edytowany przez zetsu.dono dnia: 10 Luty 2012 - 11:05

Zaloguj się
Rejestracja
Pomoc



ASUS OC School
Ostatnio dodane tematy
Nowe artykuły
Najnowsze pliki

Wróć do góry
Multi cytowanie