#c
#c
Вопрос:
f 120208//43254 120212//43256 120178//43251 120177//43249
это содержимое текстового файла; я использую ifstringstream как: istringstream iss //bind;(этот iss привязан к строке); затем:
char c;
int k;
iss>>c>>k; //(c='f' k= 120208)
iss>>c; //(c='/')
iss>>k //(here i should use iss>>c, but i use iss>>k);
но после этого я делаю что-либо с iss>> , он возвращает ‘/’; и никогда не продолжаю;
почему? как я могу это решить?
Комментарии:
1. Двойная косая
//
черта не является допустимым разделителем для извлечения потока. Вот почему он терпит неудачу. И вы не проверяете, установлен ли сбой потока.2. «Почему?» Потому что, как только чтение завершается неудачно, поток перестает работать. ‘Как я могу это решить? ` Используйте
iss.clear();
, и поток снова начнет работать.