Windows (XP und folgende)
Beyogen auf:
Diese Speicherorte setzen voraus, dass Windows auf dem Datenträger C: installiert ist. Fügen Sie in diese Verzeichnisse Ihr eigenes Verzeichnis mit dem Namen des Spiels oder der Spielefirma und anschließend den Namen des Spiels ein.
Wenn Sie eine Windows 8-Anwendung im Metro-Stil verwenden , müssen Sie eine bestimmte API verwenden, anstatt zu versuchen, auf Verzeichnisse zuzugreifen. Lesen:
Spieldaten des Spielers
Windows Vista und folgende:
C: \ Benutzer \ {Benutzername} \ AppData \ Roaming
Windows XP:
C: \ Dokumente und Einstellungen \ {Benutzername} \ Anwendungsdaten
Sie können automatisch die richtige benutzernamenabhängige Adresse ermitteln, indem Sie die APPDATA
Umgebungsvariable abrufen .
Standard C (alle Compiler):
char* appdata = getenv("APPDATA");
Visual Studio 20xx ( vermeiden Sie die Warnung getenv (), die besagt, dass es nicht sicher ist ) - Nicht-Metro-Stil:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "APPDATA" );
Boost-Benutzer : Im Moment schreibe ich dieses boost.filesystem (das auch ein Entwurf der Dateisystembibliothek ist, die für den nächsten C ++ - Standard vorgeschlagen wurde) und implementiert noch keine Funktion, um das richtige Verzeichnis bereitzustellen. Allerdings gibt es Diskussionen , bevor darüber . Bitte aktualisieren Sie diesen Abschnitt, wenn sich etwas ändert.
Freigegebene Spieldaten
Windows Vista und folgende:
C: \ ProgramData
Windows XP:
C: \ Dokumente und Einstellungen \ Alle Benutzer
Sie können automatisch die richtige Adresse ermitteln, indem Sie die PROGRAMDATA
Umgebungsvariable abrufen .
Standard C (alle Compiler):
char* appdata = getenv("PROGRAMDATA");
Visual Studio 20xx ( vermeiden Sie die Warnung getenv (), die besagt, dass es nicht sicher ist ) - Nicht-Metro-Stil:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "PROGRAMDATA" );
Boost-Benutzer : Im Moment schreibe ich dieses boost.filesystem (das auch ein Entwurf der Dateisystembibliothek ist, die für den nächsten C ++ - Standard vorgeschlagen wurde) und implementiert noch keine Funktion, um das richtige Verzeichnis bereitzustellen. Allerdings gibt es Diskussionen , bevor darüber . Bitte aktualisieren Sie diesen Abschnitt, wenn sich etwas ändert.
Temporäre Spieldaten
Windows Vista und folgende:
C: \ ProgramData
Windows XP:
C: \ Dokumente und Einstellungen \ {Benutzername} \ Lokale Einstellungen \ Temp
Sie können automatisch die richtige Adresse ermitteln, indem Sie die TEMP
Umgebungsvariable abrufen .
C ++ Boost - Benutzer : Es gibt eine einfache plattformübergreifende Boost.Filesystem Funktion für diese
namespace bfs = boost::filesystem;
const bfs::path TEMP_DIR = bfs::system_complete( bfs::temp_directory_path() ); // system_complete() call is optional
Standard C (alle Compiler):
char* appdata = getenv("TEMP");
Visual Studio 20xx ( vermeiden Sie die Warnung getenv (), die besagt, dass es nicht sicher ist ) - Nicht-Metro-Stil:
char *pValue;
size_t len;
errno_t err = _dupenv_s( &pValue, &len, "TEMP" );