Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problemy z zapisem pliku txt do tablicy typu int.

Ostatnio zmodyfikowano 2010-05-06 19:10
Autor Wiadomość
pawel.uszok
Temat założony przez niniejszego użytkownika
Problemy z zapisem pliku txt do tablicy typu int.
» 2010-05-06 14:11:43
Witam serdecznie od jakiegoś czasu próbuje napisać program który będzie wczytywał plik txt do tablicy typu INT. Plik ma następującą formę:

23
25
... //i tak dalej
564
34
23
34


każda z liczb powinna znaleźć się odpowiednio w kolejnej komórce.

czytałem rozdział: XVI. Obsługa plików. i udało mi się uzyskać pożądany efekt na stringach problem jest w tym że na danych z tablicy mają być wykonywane obliczenia.
Najlepiej gdyby tablica zawierała dane typu: int lub double
Proszę o pomoc.
P-16638
michalp
» 2010-05-06 14:41:35
Hmmm... atoi? string stream? boost::lexical_cast? sscanf? Trochę tego jest. Wybierz sobie.
P-16641
pawel.uszok
Temat założony przez niniejszego użytkownika
» 2010-05-06 15:07:51
Możesz opisać te możliwości nieco dokładniej? Np. z jakiej biblioteki muszę skorzystać w którym kurcie i temacie szukać składni.
P-16643
madmike44
» 2010-05-06 15:13:42
Konwersja string na int:

http://4programmers.net/C/Konwersje_int_na_string_i_string_na_int#id-string-na-int

Wczytujesz po linijce do stringa, zamieniasz na inta i wrzucasz liczbę do tablicy.
P-16644
michalp
» 2010-05-06 15:14:48
boost::lexical_cast:

  *  musisz mieć boosta
  *  musisz (tzn. nie do końca) obsłużyć wyjątek (jak rzuci (a pewnie kiedyś rzuci))

string stream:

  *  masz go pod ręką (zapewne)
  *  umiesz korzystać ze strumieni?
  *  konwersja zarówno string -> int; int -> string

atoi:

  *  korzysta z C-owego stringa (const char*)

sscanf:

  *  jak wyżej

Zresztą co będę ci wyjaśniał, jak ktoś już to zrobił.
P-16645
Elaine
» 2010-05-06 15:25:40
Nie lepiej od razu wczytać te liczby jako... no właśnie, liczby?
C/C++
std::vector < int > nums;
int temp;

// zamiast std::cin może być dowolny inny strumień wejściowy
while(( std::cin >> temp ).good() )
     nums.push_back( temp );

P-16646
lenrokskate
» 2010-05-06 15:32:22
#Iname

nie wczyta tego wtedy w formacie ASCII? Tzn. w pliku będą liczby a do wektora wpiszą się kody znaków '1', '2' itp..
P-16647
Elaine
» 2010-05-06 16:11:41
Nie, zostaną odczytane liczby, nie kody znaków, w końcu od tego jest formatowane wejście. Możesz sam sprawdzić.
P-16648
« 1 » 2
  Strona 1 z 2 Następna strona