2008-09-16 15 views
1

gccwindows için kullanıyorum. İşletim sistemi Windows XP'dur. Evyolu değişkeni c programım içine nasıl alabilirim, böylece c: \% homepath% \ desktop'a yazabilirim? Benzer bir şey kullanmak istiyorum:gcc kullanarak c yolunda homepath nasıl programlanır

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

cevap

1

Bir ortam değişkeninin değerini almak için getenv() öğesini kullanın, ardından yolu oluşturmak için sprintf veya strcat komutunu kullanın.

1

Ortam değişkeni değerini almak için getenv("homepath") kullanın. Değişkenin tanımlanmadığı durumu ele almalısınız (bu durumda getenv, NULL değerini döndürür).

yol Sen değerini homepath ve \\desktop\\helloworld.txt karşılamak için yeterince büyük bir yol yapmalıdır sprintf

char * homepath = getenv("homepath"); 

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

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

kullanmak kompoze edin.

Ayrıca dize içinde \\ kullanımı dikkat edin. Tek \ kullanamazsınız.

0

Not: Aslında HOMEDRIVE değerini almanız ve bunu HOMEPATH'a eklemeniz gerekir. Birçok şirket ortamında, ana dizinler büyük ağ aygıtlarında veya sunucularda tutulur.