1

Тема: обробка текстових даних

Проблема заключається в тому, що я не можу додуматись як зробити так, щоб програма обробляла не лише перше слово але й всі інші окремо. Допоможіть будь ласка.

#include <iostream>
#include <fstream>
#include <cctype>   

using namespace std;

int main(){
    
/*    ofstream fout("text.dat");
    fout<<"dsfsd df5sdf sdkhk nskjf7h dkshfdk 99sdj";
    fout.close();*/
    
    char buff[50];
    
    ifstream fin("text.dat");
    
    fin>>buff;
    for(int i=0;i<50;i++){
        if ( isdigit(buff[i]) ){
            cout<<buff;
        }
    }
    
    fin.close();
}

2 Востаннє редагувалося koala (06.01.2016 07:52:58)

Re: обробка текстових даних

fin.getline(buff, 50);

А istream::operator>> для рядків призначений для видобування токенів - фрагментів без пробілів.

Подякували: Yegor1

3

Re: обробка текстових даних

Якщо вам не тяжко, можете пояснити як працює istream::operator>>

4

Re: обробка текстових даних

Перепрошую - для char* і string це не вбудований оператор, я помилився:
http://www.cplusplus.com/reference/istr … ator-free/
Втім, ніц складного - він вибирає все до першого символа, для якого isspace(c)
http://www.cplusplus.com/reference/cctype/isspace/
Вбудований - ось:
http://www.cplusplus.com/reference/istr … tor%3E%3E/

Подякували: Yegor1