首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中创建docx文件时,打开docx文件时会出现‘文件已损坏’

问在C++中创建docx文件时,打开docx文件时会出现‘文件已损坏’
EN

Stack Overflow用户
提问于 2013-07-19 14:56:07
回答 2查看 518关注 0票数 1

我正在使用"UNIX“(在我的虚拟机上),并使用"C”在那里生成".docx“文件,在将该文件放入Windows后,当我打开该文件时,它显示”该文件已损坏,无法打开“,然后它就无法打开。我使用的是MS-Word 2010。

下面是我正在使用的代码:

代码语言:javascript
复制
Write_to_file(){
 FILE *fp;
 if((fp=fopen("hello.docx","w"))==(FILE*)NULL){
  printf("Error opening file");
  return 0;
 }
 fprintf(fp,"Hello World");
 fclose(fp);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-19 15:12:59

仅使用扩展名(doc docx)并不能使文件成为MS word文件。你的代码只是在写一个文本文件。您可以在Linux下通过文件命令来检测此问题。

请参考此http://msdn.microsoft.com/en-us/library/cc313105(v=office.12).aspx,并编写REAL MS文档文件。

票数 5
EN

Stack Overflow用户

发布于 2013-07-19 14:59:51

doc文件不是简单的文本文件。您可能希望使用txt格式:

代码语言:javascript
复制
fopen("hello.txt", "w");

要真正读/写doc文件,您需要使用专门为读取和写入它们而设计的库。

The spec for MS-DOC files is pretty lengthy, so I wouldn't implement my own reader/writer if I were you.

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17739842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档