Für die längste Zeit stimmte ich mit den meisten Antworten hier überein. Aber gerade heute traf mich, warum es sinnvoller sein könnte, std::string
über zu verwenden.
Wie die meisten zustimmen, wird die Verwendung eines einzigen gut funktionieren. Oftmals können Dateidaten jedoch auch im Textformat vorliegen (häufiger, wenn XML nun Mainstream geworden ist). Dies macht es einfach, im Debugger angezeigt zu werden, wenn es relevant wird (und diese Debugger werden es Ihnen oft ermöglichen, die Bytes der Zeichenfolge zu navigieren). Aber viel wichtiger ist, dass viele existierende Funktionen, die für eine Zeichenkette verwendet werden können, leicht für Datei-/Binärdaten verwendet werden können. Ich habe festgestellt, dass ich mehrere Funktionen geschrieben habe, um sowohl Strings als auch Byte-Arrays zu handhaben, und erkannte, wie sinnlos alles war.
Werfen Sie einen Blick auf diesen Beitrag über die Verwendung von Char vs unsigned Char für Binärdaten: http://StackOverflow.com/Questions/277655/Why-Do-C-Strom-use-char-instead-of-unsigned-char –