zer0cat Ответов: 3

Как работать с файлами doc|docx без библиотек? Только чистый код c?


Привет
Может ли кто-нибудь сказать мне, как я могу работать с файлами MS Word (искать текст в нем, писать,создавать) в чистом C/Masm в Windows? Может быть, у кого-то есть пример, часть кода и т. д.

Что я уже пробовал:

Я ничего не пробую, потому что не знаю, с чего начать..

3 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

Способ заключается в том, чтобы написать свой собственный синтаксический анализатор для этих форматов файлов...
И здесь catch - DOC-это частный (принадлежащий Microsoft) формат, который никогда не был выпущен для публики...
Docx-это формат открытого домена...
Все это означает, что вы не можете написать надежный парсер для DOC, но можете для DOCX...
Для DOCX проверьте это:
Office Open XML - Википедия[^]
[MS-DOCX]: расширения Word для Office Open XML (.docx) формат файла[^]


Рейтинг:
2

RickZeeland

Вам не нужна библиотека, но, возможно, исходный код этой библиотеки может вас заинтересовать: GitHub - DocxFactory/DocxFactory: кроссплатформенная библиотека C/C++ с оболочками C#, Java, Python, Progress 4GL и инструментами командной строки для создания файлов Microsoft Word .DOCX (OpenXML) [^]
Его можно использовать С C и другими языками.


Рейтинг:
2

Patrice T

Цитата:
как я могу работать с файлами MS Word (искать текст в нем, писать,создавать) в чистом C/Masm в Windows?

Если вы не хотите использовать существующие библиотеки, вы должны воссоздать их, это стоит нескольких лет работы.
Цитата:
я не знаю, с чего начать.

Во-первых, вам нужно найти спецификации форматов файлов (существует более 1 версии), к сожалению, форматы файлов .doc не являются общедоступными, поэтому просто найти их может быть сложно, если вы не являетесь лучшим другом Билла Гейтса.
Как только вы их получите, планируйте, по крайней мере, год, чтобы полностью понять их.
Другими словами, неразумно делать то, что вы хотите.

Поскольку файлы .docx встроены в формат файла .eip, вам также необходимо воссоздать библиотеку .zip.