Windowsにgccを使用しています。OSはウィンドウズXPです。c:\%homepath%\desktop に書き込むことができるように、homepath 変数を C プログラムにインポートするにはどうすればよいですか? 次のようなものを使用したいと思います。
fd = fopen("C:\\%%homepath%%\\desktop\\helloworld.txt","w")
;
getenv("homepath")
環境変数の値を取得するために使用します。変数が定義されていない場合を処理する必要があります (その場合getenv
は戻りますNULL
)。
パスの使用を構成するにはsprintf
char * homepath = getenv("homepath");
if(homepath == null) {
/* variable HOMEPATH has not been defined */
}
sprintf(path,"%s\\desktop\\helloworld.txt",homepath);
値homepath
と\\desktop\\helloworld.txt
.
\\
文字列での の使用にも注意してください。single は使用できません\
。
getenv() を使用して環境変数の値を取得してから、sprintf または strcat を使用してパスを構成します。
注: 実際には HOMEDRIVE の値も取得し、それを HOMEPATH の前に追加する必要があります。多くの企業環境では、ホーム ディレクトリは大規模なネットワーク アプライアンスまたはサーバー上に保持されています。