deine Schleife ist irgendwie nicht richtig
strlen kann auch 0 zurück geben und dann knallt es in deiner Schleife weil er das erste Zeichen ausgeben will obwohl da keines ist
und wenn dein index = strlen erreicht rettet dich bestenfalls ein natürlich angehängter "0"-Terminator vor einem Pufferüberlauf
ich würde es eher mit x < len statt <= versuchen
Wen du ein Strign der größe 5 mit "12345" hast (also kein 0 Terminator) zum Beispiel, so würdest du dir auch dein if(Buffer[x]==0) sparen können, denn strlen sucht immer nach der letzten 0 und liefert die länge ohne Terminator zurück
Lesezeichen