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

Odczytywanie danych wierszami z pliku *.txt

Ostatnio zmodyfikowano 2014-01-30 11:22
Autor Wiadomość
RazzorFlame
» 2014-01-29 10:57:34
C/C++
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
if( i == plik )
. Pytam się co to ma być? Porównujesz liczbe z plikiem? Po pierwsze zastosuj konwersje:
C/C++
string a = "999";
int liczba = atoi( a.c_str() );
Po drugie zmień warunek w tym ifie bo aż razi w oczy.
P-103489
alixir
» 2014-01-29 11:16:55
Ogólnie wczytywanie przez getline i przez strumień
C/C++
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.
P-103491
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ć?
P-103492
alixir
» 2014-01-29 11:38:30
Ja bym wczytywał to np. tak:

C/C++
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 /*przyklad*/ << std::endl;
}

Resztę spróbuj sobie dopisać.
P-103493
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.
P-103565
1 2 3 « 4 »
Poprzednia strona Strona 4 z 4