int main()
{
FILE *fs,*ft;
char ch;
fs=fopen("main.c","r");
if(fs==NULL)
{
printf("can not open source file\n");
getch();
exit(1);
}
ft=fopen("demo.docx","w");
if(ft==NULL)
{
printf("can not open target file\n");
getch();
exit(1);
}
while(1)
{
ch=fgetc(fs);
if(ch==EOF)
{
break;
}
fputc(ch,ft);
}
fclose(fs);
fclose(ft);
return 0;
}
使用上面的代码,我尝试将main.c
的内容复制到demo.docx
该程序工作正常,但当我从外部打开demo.docx
时,它崩溃了
我身边有问题,或者我们无法使用c?
docx
文件
答案 0 :(得分:7)
Word文档不像普通文本文件那样编写,而是以非常特定的格式编写,您必须遵循这些格式。这当然可以在C中完成,但我强烈建议不要使用它,而是尝试找到一些要使用的库或使用不同的语言和框架。 C#/ .Net和Java都有很好的选择来处理Office文档(例如,对于Java,有Apache POI)。
如果您真的想浪费时间,可以在此处找到Office文件的规范:http://msdn.microsoft.com/en-us/library/cc313105%28v=office.12%29.aspx
答案 1 :(得分:3)
MS Word *.docx
文件不是普通文本文件,您需要专门的库才能访问http://libopc.codeplex.com/等文件。