วิธีการเข้าถึงสภาพแวดล้อมใน C ++

Withi Kar Khea Thung Sphaph Waedlxm Ni C



C++ เป็นภาษาระดับสูงที่มีประสิทธิภาพสูงสุดสำหรับการเขียนโปรแกรม C++ อำนวยความสะดวกให้กับเราด้วยไลบรารีฟังก์ชันที่หลากหลาย และช่วยให้เราจัดการกับข้อยกเว้นและการโอเวอร์โหลดของฟังก์ชันได้ เรายังสามารถรับสภาพแวดล้อมในภาษา C++ ได้ด้วยความช่วยเหลือของฟังก์ชัน getenv() ตัวแปรสภาพแวดล้อมเหล่านี้พบได้ในระบบปฏิบัติการที่ภาษาการเขียนโปรแกรมทั้งหมดทำงานและสามารถเข้าถึงได้ด้วยวิธีใดวิธีหนึ่ง ฟังก์ชัน getenv() ช่วยให้ภาษาการเขียนโปรแกรม C++ เข้าถึงความสามารถเหล่านี้ได้ การใช้เมธอด getenv() C++ ตัวชี้ไปยังสตริง C ที่มีเนื้อหาของตัวแปรสภาพแวดล้อมที่ให้มาจะถูกส่งกลับเป็นพารามิเตอร์ ที่นี่ เราจะเรียนรู้แนวคิดนี้และตรวจสอบว่าเราจะเข้าถึงสภาพแวดล้อมในการเขียนโปรแกรม C++ ของเราได้อย่างไรโดยใช้ตัวอย่างต่างๆ

ตัวอย่างที่ 1:

เราเพียงแค่เริ่มต้นด้วยตัวอย่างแรกของเราที่นี่ ในการทำโค้ด C++ เราจำเป็นต้องมีไฟล์ส่วนหัว ดังนั้นเราจึงรวมไฟล์ส่วนหัวที่เราต้องการไว้ในโค้ดนี้ ไฟล์ส่วนหัว “iostream” เป็นสิ่งจำเป็นเนื่องจากในโค้ดนี้ เราจำเป็นต้องแสดงข้อมูลบางส่วนและไฟล์ส่วนหัวนี้รองรับฟังก์ชัน “cout” จากนั้นเรามี 'cstdlib'; ส่วนหัวนี้มีชุดของวิธีการ เช่น วิธีการ 'getenv()'

ตอนนี้เราเพิ่ม 'namespace std' ดังนั้นเราจึงไม่จำเป็นต้องเพิ่ม 'std' ด้วยฟังก์ชัน 'cout()' ในโค้ดของเรา หลังจากนั้นจะเรียกฟังก์ชัน “main()” จากนั้นเราวาง “char*” ซึ่งเป็นตัวชี้ที่นี่พร้อมกับชื่อ “var_1” จากนั้น ในตัวแปร “var_1” นี้ เราวางฟังก์ชัน “getenv()” และส่งผ่าน “SESSIONNAME” เป็นพารามิเตอร์







หลังจากนี้ เราจะเพิ่มเงื่อนไข 'if' ซึ่งจะตรวจสอบว่า 'var_1' ไม่เท่ากับ 'NULL' หรือไม่ หาก “var_1” ไม่ใช่ค่าว่าง ระบบจะพิมพ์ชื่อตัวแปรสภาพแวดล้อมก่อน จากนั้นในบรรทัดถัดไปจะพิมพ์ค่าของตัวแปรนั้น แต่ถ้า 'var_1' เป็น 'NULL' ก็จะไม่แสดงข้อความใดๆ ที่นั่นและโค้ดจะสิ้นสุดลง



รหัส 1:



#รวม
#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
ภายใน หลัก - -
-
ถ่าน - คือ_1 -
คือ_1 - รับ - 'ชื่อเซสชัน' - -
ถ้า - คือ_1 - - โมฆะ -
ศาล - 'ชื่อตัวแปรคือ SESSIONNAME' - สิ้นสุด -
ศาล - 'ตัวแปรสภาพแวดล้อมคือ:' - คือ_1 -
กลับ 0 -
-

เอาท์พุต -
เอาต์พุตนี้แสดงชื่อของตัวแปรสภาพแวดล้อมที่เราเพิ่มเป็นพารามิเตอร์ของฟังก์ชัน 'getenv()' และค่าของตัวแปรสภาพแวดล้อมนี้ เราได้รับค่านี้ด้วยความช่วยเหลือของฟังก์ชัน 'getenv()' ในโค้ดของเรา





ตัวอย่างที่ 2:

ตอนนี้เรามีอีกตัวอย่างหนึ่ง เราเริ่มต้นโค้ดของเราโดยรวมไฟล์ส่วนหัวที่จำเป็น จากนั้นเราพิมพ์ 'namespace std' หลังจากนี้ เราจะเข้าถึงฟังก์ชัน “main()” ซึ่งเราสร้างตัวชี้ “char*” ชื่อ “newEnv_var” และเริ่มต้นด้วยชื่อตัวแปรสภาพแวดล้อม “Path” จากนั้นเราเพิ่ม 'char*' อีกอันซึ่งเป็นตัวชี้ที่นี่ด้วยและตั้งชื่อว่า 'myValue'



ตอนนี้เราเริ่มต้นตัวแปร “myValue” ด้วยฟังก์ชัน “getenv()” และส่งผ่าน “newEnv_var” ไปยังฟังก์ชัน “getenv()” นี้ มันคือพารามิเตอร์ของฟังก์ชันนี้ ตัวแปร “newEnv_var” นี้ประกอบด้วยชื่อของตัวแปรสภาพแวดล้อมเมื่อเราเริ่มต้นด้วย “PATH” ถัดไป เงื่อนไข 'if' จะถูกเพิ่มเพื่อกำหนดว่า 'myValue' เทียบเท่ากับ 'NULL' หรือไม่ หาก 'myValue' ไม่ใช่ค่าว่าง ระบบจะพิมพ์ชื่อตัวแปรสภาพแวดล้อมก่อน ตามด้วยค่าของตัวแปรในบรรทัดถัดไป อย่างไรก็ตาม หากตั้งค่า 'myValue' เป็น 'NULL' จะไม่มีข้อความแสดงขึ้นและโค้ดจะสิ้นสุดที่นี่

รหัส 2:

#รวม
#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
ภายใน หลัก - -
-
ถ่าน - ใหม่Env_var - 'เส้นทาง' -
ถ่าน - ค่าของฉัน -
ค่าของฉัน - รับ - ใหม่Env_var - -
ถ้า - ค่าของฉัน - - โมฆะ - -
ศาล - “ตัวแปร =” - ใหม่Env_var - สิ้นสุด -
ศาล - “ค่า=” - ค่าของฉัน - สิ้นสุด -
-
อื่น
ศาล - 'ไม่มีตัวแปร!' - ค่าของฉัน -
กลับ 0 -
-

เอาท์พุท:
ตอนนี้บนเทอร์มินัล มันแสดงค่าของตัวแปรสภาพแวดล้อม “PATH” ซึ่งเราได้รับโดยใช้ฟังก์ชัน “getenv()” ในโค้ดของเรา มันแตกต่างกันไปในคอมพิวเตอร์ทุกเครื่องเนื่องจากเส้นทางในคอมพิวเตอร์แต่ละเครื่องแตกต่างกัน

ตัวอย่างที่ 3:

อีกตัวอย่างหนึ่ง: เราพิมพ์ “namespace std” ที่จุดเริ่มต้นของโค้ดของเราหลังจากรวมไฟล์ส่วนหัว “iostream” และ “cstdlib” ที่จำเป็นเข้าด้วยกัน ต่อไป เราป้อนวิธีการ “main()” โดยที่เราสร้างตัวชี้ “char*” ที่เรียกว่า “myVar” และเริ่มต้นชื่อตัวแปรสภาพแวดล้อม “PUBLIC”

ต่อไป เราจะสร้าง “char*” ใหม่ที่เรียกว่า “myValue”; อันนี้ก็เป็นตัวชี้ด้วย ตอนนี้ 'myVar' ถูกส่งไปยังฟังก์ชัน 'getenv()' ซึ่งเราเริ่มต้นตัวแปร 'myValue' แล้ว มันก็เป็นอาร์กิวเมนต์ของฟังก์ชัน เนื่องจากเราเริ่มต้นด้วย 'PUBLIC' ชื่อตัวแปรสภาพแวดล้อมจึงมีอยู่ในตัวแปร 'myVar' นี้

จากนั้น เพื่อตรวจสอบว่า 'myValue' เท่ากับ 'NULL' หรือไม่ จึงมีการเพิ่มเงื่อนไข 'if' ชื่อตัวแปรสภาพแวดล้อมจะปรากฏเป็นอันดับแรกบนหน้าจอ หาก 'myValue' ไม่ใช่ค่าว่าง และค่าของตัวแปรจะปรากฏในบรรทัดถัดไป จากนั้นเราจะเพิ่มส่วนอื่นที่นี่ซึ่งจะดำเนินการหากเงื่อนไขที่กำหนดไม่เป็นที่พอใจ ที่นี่เราพิมพ์ข้อความที่บอกเราว่า 'ไม่พบตัวแปรที่นี่'

รหัส 3:

#รวม
#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
ภายใน หลัก - -
-
ถ่าน - myVar - 'สาธารณะ' -
ถ่าน - ค่าของฉัน -
ค่าของฉัน - รับ - myVar - -
ถ้า - ค่าของฉัน - - โมฆะ - -
ศาล - 'ตัวแปร = ' - myVar - สิ้นสุด -
ศาล - 'มันคือค่า = ' - ค่าของฉัน - สิ้นสุด -
-
อื่น
ศาล - 'ไม่พบตัวแปรที่นี่..!!' - ค่าของฉัน -
กลับ 0 -
-

เอาท์พุท:
ชื่อของตัวแปรสภาพแวดล้อมที่เราเพิ่มเป็นพารามิเตอร์ให้กับฟังก์ชัน 'getenv()' พร้อมด้วยค่าของตัวแปรนั้น จะถูกแสดงผลในเอาต์พุตนี้ เราสามารถรับค่านี้ได้โดยใช้ฟังก์ชัน 'getenv()' ของโค้ดของเรา

ตัวอย่างที่ 4:

เราสร้างอาร์เรย์ถ่านคงที่ชื่อ 'NewEnv_var[]' ที่นี่ด้วยขนาด '6' จากนั้น เราจะส่งตัวแปรสภาพแวดล้อมที่เป็นไปได้ทั้งหมดไปยังอาร์เรย์นี้ ด้านล่างนี้ เรามีอาร์เรย์อีกตัวหนึ่งชื่อ “char *env_value[]” ซึ่งมีขนาดเท่ากันคือ “6” ตอนนี้ เรามีลูป 'for' และเราวนซ้ำตัวแปรสภาพแวดล้อมเหล่านี้ทั้งหมดจากฟังก์ชัน 'getenv()' เพื่อรับค่าของตัวแปรเหล่านี้ทั้งหมดและจัดเก็บไว้ในอาร์เรย์ 'env_value' ภายในลูป “for” นี้ เรายังวางเงื่อนไข “if” เพื่อตรวจสอบว่าค่าสภาพแวดล้อมเป็นโมฆะหรือไม่ หากค่าไม่เป็นค่าว่าง ระบบจะพิมพ์ค่าและชื่อตัวแปร หากเป็นค่าว่าง จะแสดงข้อความว่าไม่มีตัวแปรสภาพแวดล้อมที่นี่

รหัส 4:

#รวม
#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
ภายใน หลัก - -
-
ค่าคงที่ ถ่าน - ใหม่Env_var - 6 - - - 'สาธารณะ' - 'บ้าน' - 'ชื่อเซสชัน' - 'ลิบ' - 'ซิสเต็มไดรฟ์' - 'เดลทรี' - -
ถ่าน - env_value - 6 - -
สำหรับ - ภายใน - 1 - - 6 - - -
-
env_value - - - รับ - ใหม่Env_var - - - -
ถ้า - env_value - - - - โมฆะ -
ศาล - “ตัวแปรคือ” - ใหม่Env_var - - - ' และมันคือ 'Value= ' - env_value - - - สิ้นสุด -
อื่น
ศาล - ใหม่Env_var - - - 'ไม่มีอยู่ที่นี่' - สิ้นสุด -
-
-

เอาท์พุท:
ที่นี่จะแสดงค่าที่เป็นไปได้ทั้งหมดของตัวแปรสภาพแวดล้อม และยังแสดงข้อความว่า 'HOME', 'LIB' และ 'DELTREE' ไม่มีอยู่ ซึ่งหมายความว่าค่าของตัวแปรเหล่านั้นเป็น NULL

ตัวอย่างที่ 5:

ตอนนี้ขอไปข้างหน้า นี่คือตัวอย่างสุดท้ายของบทช่วยสอนนี้ ที่นี่ เราสร้างอาร์เรย์ถ่านคงที่ขนาด '4' ที่เรียกว่า 'ตัวแปร[]' ซึ่งเราจัดเตรียมตัวแปรสภาพแวดล้อมที่เป็นไปได้ทั้งหมดไว้ ตอนนี้เราใช้ลูป 'for' ด้านล่างนี้ มีอีกอาร์เรย์หนึ่งที่มีขนาดเท่ากันคือ '4' เรียกว่า 'char *values[]' และเราวางฟังก์ชัน 'getenv()' ไว้ตรงนั้น และส่งผ่าน 'ตัวแปร[i]' เป็นพารามิเตอร์ การวนซ้ำนี้ใช้เพื่อวนซ้ำตัวแปรสภาพแวดล้อมทั้งหมด โดยดึงค่าจากฟังก์ชัน 'getenv()' และบันทึกไว้ในอาร์เรย์ 'values[]'

เรารวมเงื่อนไข 'if' ไว้ภายในลูป 'for' นี้ซึ่งกำหนดว่าค่าสภาพแวดล้อมเป็นโมฆะหรือไม่ ค่าและชื่อตัวแปรจะถูกพิมพ์หากค่าไม่เป็นโมฆะ และข้อความจะปรากฏขึ้นหากเป็น NULL ซึ่งระบุไว้ในส่วน “else”

รหัส 5:

#รวม
โดยใช้ เนมสเปซ มาตรฐาน -
ภายใน หลัก - - -
ค่าคงที่ ถ่าน - ตัวแปร - 4 - - - 'สาธารณะ' - 'บ้าน' - 'เดลทรี' - 'ล็อกเนม' - -
สำหรับ - ภายใน ฉัน - 0 - ฉัน - 4 - ฉัน - -
-
ค่าคงที่ ถ่าน - ค่านิยม - รับ - ตัวแปร - ฉัน - - -
ถ้า - ค่านิยม - - โมฆะ - -
ศาล - ตัวแปร - ฉัน - - - - ค่านิยม - สิ้นสุด -
-
อื่น -
ศาล - ตัวแปร - ฉัน - - 'ไม่พบที่นี่!' - สิ้นสุด -
-
-
กลับ 0 -
-

เอาท์พุท:
ในกรณีนี้ ค่าที่เป็นไปได้ของตัวแปรสภาพแวดล้อมจะแสดงพร้อมกับการแจ้งเตือนว่าไม่พบค่าของ “HOME”, “DELTREE” และ “LONGNAME” ที่นี่ ซึ่งหมายความว่าค่าเหล่านี้เป็นค่า NULL

บทสรุป

บทช่วยสอนนี้เป็นข้อมูลเกี่ยวกับ “วิธีเข้าถึงสภาพแวดล้อมใน C ++” เราสำรวจตัวอย่างที่เราเรียนรู้วิธีการเข้าถึงตัวแปรสภาพแวดล้อมทีละรายการ หรือใช้อาร์เรย์ที่เราส่งผ่านตัวแปรสภาพแวดล้อมที่เป็นไปได้ทั้งหมด จากนั้นรับค่าโดยใช้ฟังก์ชัน 'getenv()' เมธอด 'getenv()' นี้จัดทำโดยภาษา C++ เพื่อรับค่าตัวแปรสภาพแวดล้อมที่ต้องการ