Odczytywanie danych wierszami z pliku *.txt
Ostatnio zmodyfikowano 2014-01-30 11:22
RazzorFlame |
» 2014-01-29 10:57:34 for( int i = 0; i <= numer; i++ ) { getline( plik, buf ); if( i == plik ) { bufor = pom + wyjscie; plik << bufor; SendMessage( hComboBox, CB_ADDSTRING, 0,( LPARAM ) bufor ); } else { plik << pom; } }
|
Co to ma być? A dokładniej . Pytam się co to ma być? Porównujesz liczbe z plikiem? Po pierwsze zastosuj konwersje: string a = "999"; int liczba = atoi( a.c_str() );
Po drugie zmień warunek w tym ifie bo aż razi w oczy. |
|
alixir |
» 2014-01-29 11:16:55 Ogólnie wczytywanie przez getline i przez strumień getline( plik, buf ); plik >> pom; w jednej pętli nie jest dobrym pomysłem. Getline pobiera całą linię usuwając znak nowej linii z końca, natomiast strumień pozostawia ten znak. Tak więc w pierwszym przejściu z pliku pobierze się cała linia i zapisze do 'buff', a w zmiennej 'pom' zapisze się zmienna z drugiej linii. Problem pojawia się w kolejnym cyklu. Getline napotyka na początku znak nowej linii pozostawiony przez strumień, więc nie wczytuje niczego, zaś zmienna 'pom' wczytuje kolejną linię, która jest stringiem. Jeśli 'pom' jest zmienną typu int, to wiadomo, że mamy problem. |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-01-29 11:22:11 RazzorFlame - tam jest i = numer coś mi sie zchrzaniło przy kopiowaniu
Alixir - pom jest zmienną double. Jak ją w takim razie dobrze wczytać? |
|
alixir |
» 2014-01-29 11:38:30 Ja bym wczytywał to np. tak: std::string textBuff, liczbaBuff; double liczba;
while( std::getline( src_file, textBuff ) && std::getline( src_file, liczbaBuff ) ) { liczba = atof( liczbaBuff.c_str() ); std::cout << textBuff << " = " << liczba * 2 << std::endl; } Resztę spróbuj sobie dopisać. |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-01-30 11:22:11 Ok, wielkie dzięki, już rozumiem :)
Dziękuję bardzo za pomoc. |
|
1 2 3 « 4 » |