สวัสดี ฉันกำลังทำงานกับ C++ บนแพลตฟอร์ม Linux ฉันต้องรับค่าของตัวแปรสภาพแวดล้อม (กำหนดโดยผู้ใช้) และใช้งานเพิ่มเติม ต่อไปนี้เป็นรหัสที่ฉันใช้
const char *show_line = getenv ("MY_SHOW_LINES");
bool myFlag = (strcmp(show_line, "1") == 0) ? false : true;
โค้ดด้านบนทำงานอย่างถูกต้องเมื่อฉันตั้งค่าของตัวแปรสภาพแวดล้อม (MY_SHOW_LINES) เท่ากับ 1 แต่เมื่อฉันยกเลิกการตั้งค่าของมัน (เช่น unset MY_SHOW_LINES) โค้ดด้านบนทำให้เกิดข้อผิดพลาดของหน่วยความจำ มีข้อเสนอแนะเกี่ยวกับพฤติกรรมที่ UN คาดหวังข้างต้นหรือไม่ ขอบคุณล่วงหน้า