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 の前に追加する必要があります。多くの企業環境では、ホーム ディレクトリは大規模なネットワーク アプライアンスまたはサーバー上に保持されています。