Любой заголовочный файл для чтения текстовых файлов независимо от платформы? - PullRequest
0 голосов
/ 09 декабря 2011

Работа над кроссплатформенным проектом на C ++, который должен читать входные файлы в очень простом формате:

MESSAGE_NAME "Message text"
ANOTHER_GOOD_MESSAGE "This is another message"

...

Интересно, кто-то имеет или знаетбиблиотека (файл заголовка) для обработки входных данных, которые могут быть в формате Windows или Linux.

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Что не так с #include <fstream>?

Конечно, возможно, что реализация Windows не сможет распознавать окончания строк Unix (но я еще не видел ни одного), или что у реализации Unix есть проблемы с дополнительным '\r' & mdash; моим Обычное решение - читать файлы в двоичном режиме и удалять любые '\r' от руки. (Я прочитал в класс Line для этого, который перегружает operator>>, чтобы позвонить getline, а затем удалить любой трейлинг '\r'.)

0 голосов
/ 09 декабря 2011

Наиболее предпочтительными являются два заголовочных файла:

#include <fstream>

или

#include <cstdio>

<fstream>.Если, как указывает ваш комментарий, <fstream> недоступен, то <cstdio> должен предоставить полезную альтернативу.

В частности, вам нужно учитывать fopen() и fscanf().

...