環境は整ったので、さっそくダミープログラムを作りましょう。
まずは、プロジェクトの新規作成です。
作成するのは、「Win32コンソールアプリケーション」
です。
そして、プロジェクト名はもちろん"dot"です。
前回書いたように、まずプロジェクトで使用する文字セットを「設定なし」
に変えます。
まず、コマンドライン引数の内容を出力するコードを書きましょう。
こんな感じです。
c:¥result.txtへ結果が出力されます。
※出力先は、適当に変更してください。
このプログラムをビルドすると、dot.exeファイルが得られます。
これを、Graphvizのオリジナルのdot.exeと置き換えるのです。
オリジナルのdot.exeは、dot.exe.orgとでもリネームしておきましょう。
そして、Doxygenを実行すると... c:¥result.txtができました!
内容は、こんな感じです。
================================================================
C:¥Program Files¥Graphviz2.17¥¥bin¥dot.exe
dir_61bd93f948ed629e3277a84e9e481dc1_dep.dot
-Tpng
-o
dir_61bd93f948ed629e3277a84e9e481dc1_dep.png
================================================================
狙いどおり、dot.exeへのコマンドライン引数を得ることができました。
さらに、引数で渡された内容から、目的のdotファイルをコピーするコードを
書きます。
これで、c:以下にdotファイルがコピーされます。
ビルドしてできたdot.exeを、再度Graphvizのものと置き換えてDoxygenを
実行すると...
めでたくdotファイルを得ることができました!
これで説明は終わりです。
今回のコマンドライン引数を調べるプログラムは、いろいろ応用が効きます。
Graphvizに関わらず、いろいろ試してみてください。
あと、置き変えたファイルは、オリジナルのファイルに戻すのを忘れないで
くださいね!
それでは。
まずは、プロジェクトの新規作成です。
作成するのは、「Win32コンソールアプリケーション」
です。
そして、プロジェクト名はもちろん"dot"です。
前回書いたように、まずプロジェクトで使用する文字セットを「設定なし」
に変えます。
まず、コマンドライン引数の内容を出力するコードを書きましょう。
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { FILE * fp = NULL; fp = fopen("c:¥¥result.txt","a"); if(fp == NULL) { printf("error!¥n"); return 1; } for(int i=0;i<argc;i++) { fprintf(fp,"%s¥n",argv[i]); } fclose(fp); return 0; }
こんな感じです。
c:¥result.txtへ結果が出力されます。
※出力先は、適当に変更してください。
このプログラムをビルドすると、dot.exeファイルが得られます。
これを、Graphvizのオリジナルのdot.exeと置き換えるのです。
オリジナルのdot.exeは、dot.exe.orgとでもリネームしておきましょう。
そして、Doxygenを実行すると... c:¥result.txtができました!
内容は、こんな感じです。
================================================================
C:¥Program Files¥Graphviz2.17¥¥bin¥dot.exe
dir_61bd93f948ed629e3277a84e9e481dc1_dep.dot
-Tpng
-o
dir_61bd93f948ed629e3277a84e9e481dc1_dep.png
================================================================
狙いどおり、dot.exeへのコマンドライン引数を得ることができました。
さらに、引数で渡された内容から、目的のdotファイルをコピーするコードを
書きます。
#include "stdafx.h" #include "string.h" #include "windows.h" int _tmain(int argc, _TCHAR* argv[]) { FILE * fp = NULL; char str[256]; strcpy(str,"c:¥¥"); int len = strlen(str); strcpy(str+len,argv[1]); fp = fopen("c:¥¥result.txt","a"); if(fp == NULL) { printf("error!¥n"); return 1; } for(int i=0;i<argc;i++) { fprintf(fp,"%s¥n",argv[i]); } CopyFile(argv[1],str,FALSE); fclose(fp); return 0; }
これで、c:以下にdotファイルがコピーされます。
ビルドしてできたdot.exeを、再度Graphvizのものと置き換えてDoxygenを
実行すると...
めでたくdotファイルを得ることができました!
これで説明は終わりです。
今回のコマンドライン引数を調べるプログラムは、いろいろ応用が効きます。
Graphvizに関わらず、いろいろ試してみてください。
あと、置き変えたファイルは、オリジナルのファイルに戻すのを忘れないで
くださいね!
それでは。