- Beiträge
- 9.191
- Reaktionspunkte
- 2.942
-> Hier kostenlos registrieren
Man kann in Codesys ja Strings länger als 255 Zeichen definieren, wobei dann die Standard-Stringfunktionen nicht mehr funkionieren.
Ich frage mich aber, wie bei Codesys Informationen über die Stringlänge gespeichert werden. Bei Pascal war es ja so dass in einem Byte die Längeninformation gespeichert wird. Ist das bei Codesys auch so, oder sind die Strings wie in C Nullterminiert?
Wenn ich nämlich meine eigenen Stringfunktionen schreiben will die auch mit längeren Strings arbeiten, muss ich ja wissen wie ein String bei Codesys aufgebaut ist.
Hier
http://www.sps-forum.de/showthread....blem-ein-Array-in-2-Strings?p=98204#post98204
gibt es eine Version von Werner29 (ist der nicht bei 3s?) in dem er einfach die Bytes 1:1 rüberkopiert. Ich sehe da keine Sonderbehandlung um irgendwie eine Stringlängenangabe zu setzen, oder den String auf jeden Fall mit einer Null zu terminieren wenn die aneinandergehängten Strings länger als die Maximallänge sein sollten. Unter C ist sowas ein berühmter Fehler bei der Verwendung von strncat. Muss man da bei Codesys irgendwas beachten?
Ich frage mich aber, wie bei Codesys Informationen über die Stringlänge gespeichert werden. Bei Pascal war es ja so dass in einem Byte die Längeninformation gespeichert wird. Ist das bei Codesys auch so, oder sind die Strings wie in C Nullterminiert?
Wenn ich nämlich meine eigenen Stringfunktionen schreiben will die auch mit längeren Strings arbeiten, muss ich ja wissen wie ein String bei Codesys aufgebaut ist.
Hier
http://www.sps-forum.de/showthread....blem-ein-Array-in-2-Strings?p=98204#post98204
gibt es eine Version von Werner29 (ist der nicht bei 3s?) in dem er einfach die Bytes 1:1 rüberkopiert. Ich sehe da keine Sonderbehandlung um irgendwie eine Stringlängenangabe zu setzen, oder den String auf jeden Fall mit einer Null zu terminieren wenn die aneinandergehängten Strings länger als die Maximallänge sein sollten. Unter C ist sowas ein berühmter Fehler bei der Verwendung von strncat. Muss man da bei Codesys irgendwas beachten?