In einigen Fällen sind Zeichenfolgen gut, in anderen Fällen sind sie für char nicht gleich
/ ** Beispiel 1 String-Verwendung In diesem Fall wird der String durch Leerzeichen an der Ausgabe abgeschnitten, wenn wir del test.txt geschrieben haben. Die Ausgabe ist Zeile 1 del Zeile 2 test.txt, was nicht gut ist ** /
#include <iostream>
#include <stdlib.h>
using namespace std ;
string get_input ;
int main()
{
main:
cin >> get_input ;
system(get_input.c_str()) ;
goto main ;
}
/ ** Beispiel 2 dasselbe Programm, aber wir übergeben die Eingabe in einem Zeichen mit einem Feld von 80. Die Ausgabe für dieselbe cmd wie das erste Beispiel ist del test.txt in derselben Zeile, die gut ist ** /
#include <iostream>
#include <stdlib.h>
using namespace std ;
char input[80] ;
string get_input ;
int main()
{
main:
cin.getline(input ,80) ;
get_input = input ;
system(get_input.c_str()) ;
goto main ;
}
Zeichenfolgen sind Objekte, die Zeichenfolgen darstellen.
Die Standardzeichenfolgenklasse bietet Unterstützung für solche Objekte mit einer Schnittstelle, die der eines Standardcontainers von Bytes ähnelt, jedoch Funktionen hinzufügt, die speziell für die Arbeit mit Zeichenfolgen mit Einzelbytezeichen entwickelt wurden.
Die Zeichenfolgenklasse ist eine Instanziierung der Klassenvorlage basic_string, die char (dh Bytes) als Zeichentyp mit den Standardtypen char_traits und Allocator verwendet (weitere Informationen zur Vorlage finden Sie unter basic_string).
Beachten Sie, dass diese Klasse Bytes unabhängig von der verwendeten Codierung verarbeitet: Wenn sie zur Verarbeitung von Sequenzen von Zeichen mit mehreren Bytes oder variabler Länge (z. B. UTF-8) verwendet wird, werden alle Mitglieder dieser Klasse (z. B. Länge oder Größe) sowie Die Iteratoren arbeiten weiterhin in Bytes (keine tatsächlich codierten Zeichen). -C ++ Referenz http://www.cplusplus.com/reference/string/string/
[1]:
Ich schlage vor zu schauen: