Windows (Xp và sau)
Dựa trên:
Các vị trí này giả định rằng Windows được cài đặt trên đĩa C :. Nối thư mục của riêng bạn với tên trò chơi hoặc công ty trò chơi sau đó tên trò chơi vào các thư mục này.
Nếu bạn sử dụng ứng dụng kiểu Window 8 Metro , bạn sẽ phải sử dụng một API cụ thể thay vì cố gắng tiếp cận các thư mục. Đọc:
Dữ liệu trò chơi
Windows Vista và sau đây:
C: \ Người dùng \ {tên người dùng} \ AppData \ Chuyển vùng
Windows Xp:
C: \ Tài liệu và Cài đặt \ {tên người dùng} \ Dữ liệu ứng dụng
Bạn có thể tự động lấy đúng địa chỉ phụ thuộc tên người dùng bằng cách lấy APPDATA
biến môi trường .
Tiêu chuẩn C (tất cả các trình biên dịch):
char* appdata = getenv("APPDATA");
Visual Studio 20xx ( tránh cảnh báo getenv () nói rằng nó không an toàn ) - không phải kiểu Metro:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "APPDATA" );
Tăng cường người dùng : tại thời điểm tôi viết boost.filesystem này (đó cũng là bản nháp của thư viện hệ thống tập tin được đề xuất cho tiêu chuẩn C ++ tiếp theo) chưa triển khai một chức năng để cung cấp đúng thư mục. Tuy nhiên, đã có những cuộc thảo luận về điều này trước đây . Xin vui lòng cập nhật phần này nếu mọi thứ thay đổi.
Dữ liệu trò chơi được chia sẻ
Windows Vista và sau đây:
C: \ Chương trìnhData
Windows Xp:
C: \ Tài liệu và Cài đặt \ Tất cả người dùng
Bạn có thể tự động lấy đúng địa chỉ bằng cách lấy PROGRAMDATA
biến môi trường .
Tiêu chuẩn C (tất cả các trình biên dịch):
char* appdata = getenv("PROGRAMDATA");
Visual Studio 20xx ( tránh cảnh báo getenv () nói rằng nó không an toàn ) - không phải kiểu Metro:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "PROGRAMDATA" );
Tăng cường người dùng : tại thời điểm tôi viết boost.filesystem này (đó cũng là bản nháp của thư viện hệ thống tập tin được đề xuất cho tiêu chuẩn C ++ tiếp theo) chưa triển khai một chức năng để cung cấp đúng thư mục. Tuy nhiên, đã có những cuộc thảo luận về điều này trước đây . Xin vui lòng cập nhật phần này nếu mọi thứ thay đổi.
Dữ liệu trò chơi tạm thời
Windows Vista và sau đây:
C: \ Chương trìnhData
Windows Xp:
C: \ Tài liệu và Cài đặt \ {tên người dùng} \ Cài đặt cục bộ \ Temp
Bạn có thể tự động lấy đúng địa chỉ bằng cách lấy TEMP
biến môi trường .
Người dùng C ++ Boost : có chức năng boost.filesystem đa nền tảng đơn giản cho việc này
namespace bfs = boost::filesystem;
const bfs::path TEMP_DIR = bfs::system_complete( bfs::temp_directory_path() ); // system_complete() call is optional
Tiêu chuẩn C (tất cả các trình biên dịch):
char* appdata = getenv("TEMP");
Visual Studio 20xx ( tránh cảnh báo getenv () nói rằng nó không an toàn ) - không phải kiểu Metro:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "TEMP" );