Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#5

AW: TSHFileOpStruct - Wieviele Null-Terminatoren braucht der Mensch?

  Alt 2. Jan 2020, 02:16
Wie viele #0's ergibt das denn?
Mindestens zwei.

Zitat:
Gibt es denn auch "zuviele" #0's?
Kommt auf den Anwendungszweck an. Meistens nein, und in diesem Fall definitiv nicht.

Zitat:
Wenn ein string in Delphi schon standardmäßig 2 #0 hat und ich z. B. eingebe:
Delphi-Quellcode:
  pFrom := PChar(szSource + #0#0);
  pTo := PChar(szDestination + #0#0);
Kann es dann passieren, dass pFrom nun 4 #0 am Ende hat, und die Funktion das als Leerstring für pTo auswertet?
Nein. Wie bei MS beschrieben, liest die API-Funktion bis zum ersten doppelten NULL und stoppt dort. Die Einzelstrings sind mit einfachen NULLs voneinander getrennt.

Zitat:
Wie sieht das denn mit TFileName aus, also mit wie vielen #0's ist TFileName abgeschlossen?
TFileName ist nur ein Alias für einen string . Strings sind in Delphi AFAIK nicht nullterminiert (sie haben aber im Gegensatz zu nullterminierten Strings eine Längenangabe).

Grüße
Dalai
  Mit Zitat antworten Zitat