2013-11-28 5 views
1

Я работаю над проектом, столкнувшись с тем, что, как я считаю, я пропустил простую операцию или что-то в этом роде.Как читать только определенные символы только из файла?

Примером проблемы может быть поиск символов «%» или «*» из указанного файла.

Я буду нажимать их на стек, когда они находятся, а затем переместится на следующий символ в файле.

, например

ifstream fin; 
fin.open(fname); 

while (fin.get(singlechar)){  //char singlechar; 

if (singlechar == '(' || singlechar == ')' || singlechar == '{' || singlechar == '}' || > singlechar == '[' || singlechar == ']') 

    Stack::Push(singlechar); //push char on stack 

Что бы хороший способ сделать это? for loop, do while loop? getline вместо singlechar?

ответ

0

Уже есть ответ от existing question. Здесь:

char ch; 
fstream fin(filename, fstream::in); 
while (fin >> noskipws >> ch) { 
    cout << ch; // Or whatever 
    //In your case, we shall put this in the stack if it is the char you want 
    if(ch == '?') { 
     //push to stack here 
    } 
} 

Таким образом, вы сохраняете символ в стеке, если это соответствует этому.

Смежные вопросы