Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';文件已损坏';在C中创建docx文件时打开docx文件_C - Fatal编程技术网

';文件已损坏';在C中创建docx文件时打开docx文件

';文件已损坏';在C中创建docx文件时打开docx文件,c,C,我正在使用“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; }

我正在使用“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);
}

doc
文件不是简单的文本文件。您需要使用
txt
格式:

fopen("hello.txt", "w");
要真正读/写
doc
文件,您需要使用专门设计的库来读/写它们


doc文件不是简单的文本文件。您需要使用
txt
格式:

fopen("hello.txt", "w");
要真正读/写
doc
文件,您需要使用专门设计的库来读/写它们


仅使用扩展名(doc docx)不会使文件成为MS word文件。您的代码只编写了一个文本文件。您可以在Linux下通过file命令来检测这个


请参考此文件,并编写REALMS文档文件。

仅使用扩展名(doc docx)不会使该文件成为MS word文件。您的代码只编写了一个文本文件。您可以在Linux下通过file命令来检测这个


请参考此,并编写REALMS文档文件。

您的代码错误
If
应为
If
在记事本或gedit中打开文件!您创建的文件不是msword文件,它只有.doc扩展名。。。你太远了。文档文件是如此特殊,你必须深入!
.doc
文件和
.docx
文件都不是纯文本。
.docx
格式(或者,至少是它的一个变体)是有文档记录的[警告:巨大得惊人的PDF,包含极其复杂的规范]。我不熟悉docx格式,但是你不能仅仅传递任何ascii字符串并添加扩展名.doc来创建文档文件。。另外@avinasse也不能仅仅通过在标题中使用不正确的禁用单词拼写来解决问题。由于特定原因,问题标题中禁止使用类似问题的词语。。你可以写一个更好的标题,只要避免这个词。你的代码是错误的
If
应该是
If
用记事本或gedit打开文件!您创建的文件不是msword文件,它只有.doc扩展名。。。你太远了。文档文件是如此特殊,你必须深入!
.doc
文件和
.docx
文件都不是纯文本。
.docx
格式(或者,至少是它的一个变体)是有文档记录的[警告:巨大得惊人的PDF,包含极其复杂的规范]。我不熟悉docx格式,但是你不能仅仅传递任何ascii字符串并添加扩展名.doc来创建文档文件。。另外@avinasse也不能仅仅通过在标题中使用不正确的禁用单词拼写来解决问题。由于特定原因,问题标题中禁止使用类似问题的词语。。你可以写一个更好的标题,只要避开这个词。