Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#39

AW: Anzahl eines Zeichens im String ermitteln

  Alt 12. Jul 2018, 16:19
Wenn die For-Schleife denn unbedingt vermieden werden soll, kann man es auch so machen:
Delphi-Quellcode:
function CharCount(const S: string; const C: Char): Integer;
var
  N: Integer;
  P: PChar;
begin
  N := 0;
  P := PChar(S[1]);
  while P^ <> #0 do begin
    if P^ = C then Inc(N);
    Inc(P);
  end;
  Result := N;
end;
Der Code (und auch einige andere) bricht aber die Schleife ab, wenn S ein #0 enthält, zB S = '123'#0#1#2'123'. (Habe nicht den ganzen Thread gelesen, und weiß also nicht ob das verboten ist).

Geändert von gammatester (12. Jul 2018 um 16:23 Uhr)
  Mit Zitat antworten Zitat