Форматный ввод на C++
Добавлено: 06 апр 2017, 10:43
Джентльмены, всем доброго времени суток!
У меня вопрос по форматному вводу C++.
Задача следующая – нужно читать исходные данные (числа) из текстового файла древнего формата.
Каждое число записано в поле длиной восемь символов, т.е. строка файла представляет собой нечто следующее:
123 34.78 54.123 и т.п.
Проблема в том, что число может занимать все восемь символов, и тогда между соседними числами не будет пробелов. Для Fortrana здесь проблем нет, такой формат можно читать стандартными фортрановскими средствами без применения специальных ухищрений. А для C++ я не придумал ничего лучшего, чем:
чтение строки из файла целиком,
принудительная вставка пробелов между полями в прочитанную строку,
создание входного строкового потока на основе полученной строки,
и только после этого чтение чисел из указанного входного строкового потока .
Не подскажете, может быть есть способ попроще, не прибегаю к ухищрениям?
С уважением, Павел.
У меня вопрос по форматному вводу C++.
Задача следующая – нужно читать исходные данные (числа) из текстового файла древнего формата.
Каждое число записано в поле длиной восемь символов, т.е. строка файла представляет собой нечто следующее:
123 34.78 54.123 и т.п.
Проблема в том, что число может занимать все восемь символов, и тогда между соседними числами не будет пробелов. Для Fortrana здесь проблем нет, такой формат можно читать стандартными фортрановскими средствами без применения специальных ухищрений. А для C++ я не придумал ничего лучшего, чем:
чтение строки из файла целиком,
принудительная вставка пробелов между полями в прочитанную строку,
создание входного строкового потока на основе полученной строки,
и только после этого чтение чисел из указанного входного строкового потока .
Не подскажете, может быть есть способ попроще, не прибегаю к ухищрениям?
С уважением, Павел.