backdraft Geschrieben 20. Februar 2003 Teilen Geschrieben 20. Februar 2003 Tach! Wer weiß, wie groß eine String-Variable (string.h) max sein kann? MfG backdraft Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 20. Februar 2003 Teilen Geschrieben 20. Februar 2003 In string.h werden keine String-Datentypen deklariert, deswegen gehe ich mal davon aus, dass du einen normalen C-String, also einen char* meinst. Da gibt es prinzipiell keine Beschränkung, die können so groß werden wie dein gesamter Hauptspeicher. Allerdings werden Probleme auftreten, wenn die Länge den Wertebereich eines size_t übersteigt. Auf 32-Bit-Systemen wären das 4 GByte. Es macht aber nicht viel Sinn, große Datenmengen in einem char-Array abzulegen. Was hast du denn vor? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 20. Februar 2003 Teilen Geschrieben 20. Februar 2003 Wobei 4GB ein eher theoretischer Wert sind, in der Praxis wirst Du schon deutlich früher auf Grenzen stossen. Beispielsweise die maximale Prozessgröße usw. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gnut Geschrieben 20. Februar 2003 Teilen Geschrieben 20. Februar 2003 Originally posted by nic_power Beispielsweise die maximale Prozessgröße usw. Gehört das nicht auch mit zur Theorie? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 20. Februar 2003 Teilen Geschrieben 20. Februar 2003 Nein, warum? Bei vielen Unix-Derivaten wird die Prozessgröße (bzw. Stack und Datensegmentgröße) durch eine Kernelvariable begrenzt die per Hand konfiguriert werden muss. Selbst bei 4GB RAM kann es Dir dann passieren, dass Du nur 256MB auf dem Stack oder im Datensegment allokieren kannst. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
backdraft Geschrieben 21. Februar 2003 Autor Teilen Geschrieben 21. Februar 2003 Hi! Ich glaube, ich habe gerade andere Möglichkeit gefunden. Trotzdem Danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
M.A.Knapp Geschrieben 23. Februar 2003 Teilen Geschrieben 23. Februar 2003 ein char * ist in der regel (auf x86 systemen) 4 bytes groß. Wie groß der Speicherbereich ist, auf den ein char * zeigt ist sache des Betriebsystems. Meist zeigt man mit einem char * auf null-terminierte Strings. Ansich können die beliebig groß sein, deren maximal mögliche Größe hängt daher von OS ab MfG, Michael Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.