![]() |
Größe eines Strings
Wie groß ist ein String mit 3, 5 oder 6 Zeichen in Byte. Knn mir jemand eine allgemeine Formel sagen, mit der ich von der Zeichenanzahl auf die Größe des Strings im Speicher schließen kann? Habe auf Anhieb nichts gefunden :)
|
Re: Größe eines Strings
Es kommt darauf an, wie du den String deklarierst hast
|
Re: Größe eines Strings
Naja, es geht darum dass ich einen Stream habe, in den ich immer erst die Länge eines Strings und dann den String schreiben möchte. Wie müsste ich da vorgehen? Ein einfaches Stream.Read(..) und Stream.Write(..) liefert nur Zeichensalat... :)
|
Re: Größe eines Strings
Mit
Delphi-Quellcode:
kannst du die Anzahl der Zeichen abfragen
Length( str)
|
Re: Größe eines Strings
Wenn du einen String in einen Stream schreiben willst (und zwar so, dass der String am Ende wieder auslesbar ist), belegt er mindestens 4 + Length(s) > 0 ? Length(s)*sizeof(s[1]) : 0 Byte.
|
Re: Größe eines Strings
das ist mir klar, die frage is nur wie ich das mit dem stream verbinde... kann ich jetz einfach sagen
Delphi-Quellcode:
???
Stream.Write(string, length(string));
|
Re: Größe eines Strings
Delphi-Quellcode:
stream.Write(s[1], Length(s));
|
Re: Größe eines Strings
damit schreibe ich doch nur das erste Zeichen meines strings in den stream... oder steh ich grad aufm schlauch^^
|
Re: Größe eines Strings
nope. du fängst bei string[1] an und schreibst soviele zeichen wie length(s).
|
Re: Größe eines Strings
Nein vom ersten Zeichen an die Länge des Strings, also den ganzen.
|
Re: Größe eines Strings
ahso, also muss ich ne for i:= 0 to length(string)-1 -schleife nehmen... ich dachte das geht auch einfacher... aber wie so oft: getäuscht... danke für die hilfe :wink:
|
Re: Größe eines Strings
Zitat:
|
Re: Größe eines Strings
Nein, es wird doch der ganze String geschrieben: s[1] ist nicht nur das erste Zeichen sondern auch ein Zeiger auf dieses.
|
Re: Größe eines Strings
Aaaaaaaa! Ich steh heute wirklich aufm Schlauch! Echt cool, dass ihr mir überhaupt noch weiterhelft... also reicht es jetzt einfach zu schrieben:
Delphi-Quellcode:
?
Stream.Write(s[0], Length(s));
|
Re: Größe eines Strings
Zitat:
Liest du Tips eigentlich auch *ganz* durch? |
Re: Größe eines Strings
Delphi-Quellcode:
reicht
Stream.Write(s[1], Length(s));
|
Re: Größe eines Strings
okay, war n tippfehler... statt der 0 ne 1... aber sonst is das doch jetz korrekt oder nicht? :)
|
Re: Größe eines Strings
prima... es hat gedauert aber wenigstens funktionierts jetzt :wink: tausend dank an euch beide
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz