1

Windowsにgccを使用しています。OSはウィンドウズXPです。c:\%homepath%\desktop に書き込むことができるように、homepath 変数を C プログラムにインポートするにはどうすればよいですか? 次のようなものを使用したいと思います。

fd = fopen("C:\\%%homepath%%\\desktop\\helloworld.txt","w");

4

3 に答える 3

1

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 は使用できません\

于 2008-09-16T19:43:40.363 に答える
1

getenv() を使用して環境変数の値を取得してから、sprintf または strcat を使用してパスを構成します。

于 2008-09-16T19:28:06.547 に答える
0

注: 実際には HOMEDRIVE の値も取得し、それを HOMEPATH の前に追加する必要があります。多くの企業環境では、ホーム ディレクトリは大規模なネットワーク アプライアンスまたはサーバー上に保持されています。

于 2008-09-18T23:16:59.677 に答える