У меня проблема с этим, что затрудняет мне время. Таким образом, я должен прочитать что-то в формате [Пожалуйста, прочитайте тело, а также, чтобы понять мой вопрос немного лучше]:getline (cin, input) с несколькими строками? (C++)
TITLE
The text is actually from a file being redirected
to input stream via piping in linux bash. I cannot
use ifstream or anything other than some form of cin,
of which I believe getline to be the most useful.
etc.
В частности, то, что дает мне трудное время это пустое пространство между TITLE и тело. Кажется, я не думаю о том, как обойти это, используя getline (cin, string).
Лучшее, что я придумал:
while(inputString.size() != 0)
getline(cin,inputString);
//process string
... выбрасывается из окна с упомянутой выше пустой строке.
Любые идеи, ребята?
Спасибо!
Да! Это вызвало обаяние. Однако вы можете дать мне краткое объяснение, почему он все это читает? –
@assignment_operator 'std :: getline' не только изменяет очищаемый объект потока, но и возвращает его. Как уже упоминалось [здесь] (http://stackoverflow.com/a/11063495/1336150), объект потока может быть проверен на достоверность, наведя его на указатель 'void *' (или явный 'bool', поскольку C++ 11). Вы получите нулевое значение ('false'), если есть ошибка чтения, * например * больше данных в потоке. –
Ahhh, хорошо, это имеет гораздо больше смысла. Спасибо, я ценю ваше время и помощь. –