1

「UNIX」(仮想マシン上) を使用し、そこで「C」を使用して「.docx」ファイルを生成しています。ファイルを Windows に取得した後、ファイルを開くと、「ファイルが壊れています。開いた」と表示され、開かない。MS-Word2010を使用しています。

ここに私が使用しているコードがあります:-

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);
}
4

2 に答える 2

5

拡張子名 (doc docx) だけでは、ファイルは MS Word ファイルにはなりません。あなたのコードはテキストファイルのみを書き込んでいます。これは、Linux では file コマンドで検出できます。

このhttp://msdn.microsoft.com/en-us/library/cc313105(v=office.12).aspxを参照して、 REAL MS ドキュメント ファイルを作成してください。

于 2013-07-19T07:12:59.343 に答える
4

docファイルは単純なテキスト ファイルではありません。txt次の形式を使用します。

fopen("hello.txt", "w");

実際にファイルを読み書きするには、docファイルを読み書きするために特別に設計されたライブラリを使用する必要があります。

MS-DOC ファイルの仕様はかなり長いので、私があなただったら、独自のリーダー/ライターを実装しないでしょう。

于 2013-07-19T06:59:51.480 に答える