Ich suche stackoverflow für die Antwort, kann aber keine enge Übereinstimmung erzielen. Ich serialisiere Inhalte eines Laufwerks. Ich verwende boost :: filesystem :: path für die Manipulation. Was sollte die maximale Zeichenlänge (300 ist nur nominal) sein, um die Pfadinformationen in Windows OS zu speichern.Maximale Zeichenlänge für die Serialisierung des Ordnerpfads
struct raw_event
{
friend std::ifstream& operator >> (std::ifstream& infile, raw_event& raw);
friend std::ofstream& operator << (std::ofstream& outfile, raw_event& raw);
private:
char path_[300];
//
};
Welches Betriebssystem wird ins Visier genommen? Und warum nicht eine 'std :: string' verwenden? – user4581301
@ user4581301: Windows-Betriebssystem. Ich verwende std :: string, aber für die Serialisierung verwenden Sie lieber POD, um Müll zu vermeiden – ark1974
Der maximale Windows-Pfad ist 260, es sei denn, Sie verwenden die Unicode-API. Dann ist es 32767. Nicht sicher, was Boost benutzt, aber immer 32k zuzuweisen, scheint für mich wie eine Trottel-Wette zu sein. – user4581301