Предполагая, что у меня есть файл с расширением .doc на платформе Windows, как я могу открыть файл для вывода его содержимого на экран с помощью объекта ofstream в C ++? Мне известно, что объект можно использовать для открытия файлов в текстовом и двоичном режимах. Но я хотел бы знать, можно ли открыть файл .doc (или даже .pdf) и прочитать его содержимое.
Библиотека C ++ std имеет ifstream
класс, который можно использовать для чтения простых текстовых файлов, а также для чтения двоичных файлов.
Это зависит от вас, чтобы интерпретировать эти байты в файле. Чтобы правильно интерпретировать двоичный файл, вам нужно знать формат файла.
Если вы думаете о файлах MS Word, то я бы начал отсюда: http://en.wikipedia.org/wiki/Office_Open_XML понять формат MS Word 2007.
Вы можете найти библиотеку Boost Iostreams ( http://www.boost.org/doc/libs/1_52_0/libs/iostreams/doc/home.html ) как-то полезно, если вы хотите сделать какой-то фильтр самостоятельно.
Я никогда не делал этого раньше, но после прочтения, я думаю, у меня может быть предложение. Формат .docx — это на самом деле просто XML, который заархивирован. После распаковки файл находится в word / document.xml. Делать это в программе — вот где это весело.
Два варианта: если вы используете C ++ CLR (.NET), то У Microsoft есть SDK для вас. Это должно облегчить открытие документов Office.
В противном случае, если вы просто используете обычный C ++, вам, возможно, придется проделать дополнительную работу.