Ankündigung

Einklappen
Keine Ankündigung bisher.

Was sind alles Whitespaces?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was sind alles Whitespaces?

    Hallo,

    kennt jemand von euch die komplette Liste, was Whitespaces sind?
    Also

    Code:
    <leerzeichen> = Leerzeichen
    \n            = Zeilenumbruch (nur Windows?)
    \r            = Wagenrücklaufzeichen
    \t            = Tabulator
    \v            = vertikales Tabulatorzeichen
    \f            = Seitenvorschubzeichen
    die letzten beiden hab ich hierüber gefunden
    http://de.selfhtml.org/javascript/objekte/regexp.htm
    Frage mich allerdings ob das nicht einfach nur RegExp-Operator sind.

    Es geht mir übrigens auch nicht um RegExp, sondern um eine performante C++-Trim-Funktion(). Bringt mich aber gerade auf die Idee, mal über Google nach Trim()-Funktionen zu suchen, vielleicht sind dort auch die Zeichen aufgelistet.

  • #2
    hmm quellcode von php mal betrachen ?
    den gibts ja zum runterladen da kann man sich die trimfunktionen ja mal anschauen
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar


    • #3
      Gute Idee, werd ich mal machen. Danke.

      Edit: OK, es sind laut ext\standard\string.c: " \t\n\r\v\0".
      \0 bei C++ zu trimmen dürfte aber keinen Sinn machen oder?

      Komischerweise gibts aber so ne Art Unittests davon in der Datei ext\standard\tests\strings\trim.phpt, dort wird auf \v nicht geprüft.

      Kommentar


      • #4
        Das 0-Byte solltest du drinlassen

        Kommentar


        • #5
          PHP benutzt keine zero-terminated strings(sz) , sondern speichert die Länge der Nutzdaten. \0 muss nicht das Ende der Zeichenkette sein (und wenn, trägt es zur Länge bei).
          Das kann natürlich zu unerwünschten Effekten führen, wenn die Zeichenkette (intern) einer Funktion übergeben wird, die doch mit sz arbeitet.

          Kommentar


          • #6
            Zitat von Bruchpilot
            PHP benutzt keine zero-terminated strings(sz) , sondern speichert die Länge der Nutzdaten. \0 muss nicht das Ende der Zeichenkette sein (und wenn, trägt es zur Länge bei).
            Klar, PHP kann ja mit binären Strings umgehen. Aber das interessiert Zergling ja nicht in seinem C-Code.

            Kommentar


            • #7
              Zitat von Saraneus
              Das 0-Byte solltest du drinlassen
              So wie ich euch verstanden habe ja dann eben nicht, denn wenn ich bei C auf \0 teste und dieses evtl. lösche, zerhaue ich mir doch meinen String oder?

              Kommentar


              • #8
                Sämtliche Stringfunktionen erwarten das 0-Byte am Ende eines Strings in C. Wenn du diese Funktionen abstrahierst und stets eine Stringlänge hast, benötigst du das 0-Byte natürlich nicht.

                Kommentar


                • #9
                  -- Offtopic --
                  Und genau das macht Zeichenketten in C/C++ so spannend
                  http://www.joelonsoftware.com/articl...000000319.html

                  Kommentar


                  • #10
                    Ich kenne keine ästhetischere Programmiersprache als C. Pointer, dynamisches Speichermanagement... einfach herrlich!

                    Kommentar


                    • #11
                      Zitat von Bruchpilot
                      -- Offtopic --
                      Und genau das macht Zeichenketten in C/C++ so spannend
                      http://www.joelonsoftware.com/articl...000000319.html
                      Der Artikel ist geil geschrieben, nicht so verstopfend lahm und langweilig Ich mag seine Schreibweise!
                      Danke für den Link!

                      Kommentar

                      Lädt...
                      X