كيفية استيراد homepath في برنامج c باستخدام دول مجلس التعاون الخليجي

StackOverflow https://stackoverflow.com/questions/75937

  •  09-06-2019
  •  | 
  •  

سؤال

أنا باستخدام دول مجلس التعاون الخليجي بالنسبة ويندوز.نظام التشغيل ويندوز XP.كيف يمكنني استيراد homepath متغير في برنامج c حتى أستطيع أن أكتب c:\%homepath%\desktop?أود أن استخدام شيء مشابه:

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

هل كانت مفيدة؟

المحلول

استخدام getenv() للحصول على قيمة متغير البيئة ، ثم استخدام sprintf أو وstrcat أن يؤلف المسار.

نصائح أخرى

استخدام 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.

لاحظ أيضا استخدام \\ في السلسلة.لا يمكنك استخدام واحد \.

ملاحظة:كنت في الواقع تحتاج إلى الحصول على قيمة HOMEDRIVE أيضا ، prepend أن HOMEPATH.في العديد من بيئات الشركات ، فإن الدلائل الرئيسية يتم الاحتفاظ بها على شبكة واسعة من الأجهزة أو ملقمات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top