我正在使用“UNIX”(在我的虚拟机上)并使用“C”生成“.docx”文件,将文件导入Windows后,当我打开文件时,它说“文件已损坏,可以不开放然后它不开放。 我正在使用MS-Word 2010。
以下是我正在使用的代码: -
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);
}
答案 0 :(得分:5)
仅使用扩展名(doc docx)不会使文件成为MS Word文件。您的代码只是编写一个文本文件。您可以在Linux下通过file命令检测它。
请参考此http://msdn.microsoft.com/en-us/library/cc313105(v=office.12).aspx,并撰写 REAL MS文档文件。
答案 1 :(得分:4)
doc
文件不是简单的文本文件。您想要使用txt
格式:
fopen("hello.txt", "w");
要实际读取/写入doc
文件,您需要使用专门设计的库来读取它们并编写它们。