2008-09-16 17 views
1

gccwindowsを使用しています。 OSはwindows XPです。 c:\%homepath%\ desktopに書き込めるように、homepath変数をCプログラムにインポートするにはどうすればよいですか?私は次のようなものを使いたいと思います:gccを使用してCプログラムにhomepathをインポートする方法

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

答えて

1

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

1

getenv("homepath")を使用して、環境変数の値を取得します。変数が定義されていない場合(getenvはその場合はNULLを返します)を処理する必要があります。あなたが値homepath\\desktop\\helloworld.txtを収容するのに十分なパスが大きな作るべきsprintf

char * homepath = getenv("homepath"); 

if(homepath == null) { 
    /* variable HOMEPATH has not been defined */ 
} 

sprintf(path,"%s\\desktop\\helloworld.txt",homepath); 

パスの使用を構成する

文字列に\\を使用することにも注意してください。単一の\は使用できません。

0

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

関連する問題