Windows (Xp และต่อไปนี้)
ขึ้นอยู่กับ:
ตำแหน่งที่ตั้งเหล่านี้สมมติว่ามีการติดตั้ง Windows บนดิสก์ C: ผนวกไดเรกทอรีของคุณเองด้วยชื่อเกมหรือ บริษัท เกมจากนั้นชื่อเกมไปยังไดเรกทอรีเหล่านี้
หากคุณใช้แอปพลิเคชั่นสไตล์ Metro 8 ของ Windowคุณจะต้องใช้ API เฉพาะแทนที่จะพยายามเข้าถึงไดเรกทอรี อ่าน:
ข้อมูลเกมของผู้เล่น
Windows Vista และต่อไปนี้:
C: \ Users \ ชื่อผู้ใช้ {} \ AppData \ Roaming
Windows Xp:
C: \ Documents and Settings \ {ชื่อผู้ใช้} \ ข้อมูลแอปพลิเคชัน
คุณจะสามารถได้รับที่อยู่ชื่อผู้ใช้ขึ้นอยู่กับทางขวาโดยได้รับตัวแปรสภาพแวดล้อมAPPDATA
มาตรฐาน C (คอมไพเลอร์ทั้งหมด):
char* appdata = getenv("APPDATA");
Visual Studio 20xx ( หลีกเลี่ยงคำเตือน getenv () เตือนว่าไม่ปลอดภัย ) - ไม่ใช่สไตล์ Metro:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "APPDATA" );
ผู้ใช้ Boost : ในขณะนี้ฉันเขียน boost.filesystem นี้ (ซึ่งเป็นฉบับร่างของไลบรารีระบบไฟล์ที่เสนอให้กับมาตรฐาน C ++ ถัดไป) ยังไม่ได้ใช้ฟังก์ชั่นเพื่อจัดทำไดเรกทอรีที่ถูกต้อง อย่างไรก็ตามมีการอภิปรายเรื่องนี้มาก่อน โปรดอัปเดตส่วนนี้หากมีการเปลี่ยนแปลง
ข้อมูลเกมที่แชร์
Windows Vista และต่อไปนี้:
C: \ ProgramData
Windows Xp:
C: \ Documents และ Settings \ ผู้ใช้ทั้งหมด
คุณจะสามารถได้รับที่อยู่ทางขวาโดยได้รับตัวแปรสภาพแวดล้อมPROGRAMDATA
มาตรฐาน C (คอมไพเลอร์ทั้งหมด):
char* appdata = getenv("PROGRAMDATA");
Visual Studio 20xx ( หลีกเลี่ยงคำเตือน getenv () เตือนว่าไม่ปลอดภัย ) - ไม่ใช่สไตล์ Metro:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "PROGRAMDATA" );
ผู้ใช้ Boost : ในขณะนี้ฉันเขียน boost.filesystem นี้ (ซึ่งเป็นฉบับร่างของไลบรารีระบบไฟล์ที่เสนอให้กับมาตรฐาน C ++ ถัดไป) ยังไม่ได้ใช้ฟังก์ชั่นเพื่อจัดทำไดเรกทอรีที่ถูกต้อง อย่างไรก็ตามมีการอภิปรายเรื่องนี้มาก่อน โปรดอัปเดตส่วนนี้หากมีการเปลี่ยนแปลง
ข้อมูลเกมชั่วคราว
Windows Vista และต่อไปนี้:
C: \ ProgramData
Windows Xp:
C: \ Documents and Settings \ {ชื่อผู้ใช้} \ Local Settings \ Temp
คุณจะสามารถได้รับที่อยู่ทางขวาโดยได้รับตัวแปรสภาพแวดล้อมTEMP
ผู้ใช้ C ++ Boost : มีฟังก์ชั่นเพิ่มประสิทธิภาพข้ามแพลตฟอร์มแบบง่าย ๆสำหรับสิ่งนี้
namespace bfs = boost::filesystem;
const bfs::path TEMP_DIR = bfs::system_complete( bfs::temp_directory_path() ); // system_complete() call is optional
มาตรฐาน C (คอมไพเลอร์ทั้งหมด):
char* appdata = getenv("TEMP");
Visual Studio 20xx ( หลีกเลี่ยงคำเตือน getenv () เตือนว่าไม่ปลอดภัย ) - ไม่ใช่สไตล์ Metro:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "TEMP" );