Самый простой способ прочитать строку с завершающим нулем с помощью istream?

У меня есть поток, и мне нужно прочитать точно определенное количество байтов, НО я не знаю его длины. Он завершается нулем. Я думал, что могу либо 1) написать цикл и прочитать по одному байту за раз; 2) сказать ему, чтобы он вернул мне буфер или строку, которая начинается сейчас до определенного байта (0 в данном случае). или 3) Прочтите в buf ровно один байт за раз и проверьте его на 0 и добавьте его в строку, если это не так.

Третье, что я знаю, что я могу сделать, но другие 2 звучат так, как будто это возможно с istream ( в данном случае это файловый поток). Я все еще читаю документацию по istream. Их много.

7
задан 14 March 2011 в 03:59
поделиться