Wie kann ich mehrere Zeichen kombinieren, um eine Zeichenfolge zu erstellen?

7

Ich mache String-Parsing und im Wesentlichen möchte ich Folgendes tun:

%Vor%

ABER Sie können keine String-Verkettung für ein Char ausführen, was mich zu dieser Frage bringt, wie kann ich die Verkettung von Char's simulieren?

Ich weiß, dass die String-Bibliothek in C ++ anhängen hat, aber ich denke nicht, dass das für meinen Fall funktioniert. Irgendwelche Ideen?

    
Sarah 08.12.2013, 03:36
quelle

5 Antworten

14

Sie können Zeichen mit einem std::string verketten, Sie brauchen nur einen der Operanden als std::string , sonst fügen Sie Ganzzahlen hinzu.

%Vor%

Beachten Sie, dass dies nur funktioniert, wenn der erste oder zweite Operand in der Kette ein std::string ist. Dies führt zum ersten Aufruf von operator+ , der std::string zurückgibt, und der Rest wird folgen. Dies führt nicht zu den erwarteten Ergebnissen:

%Vor%     
Benjamin Lindley 08.12.2013, 03:40
quelle
4

In C ++ 11 können Sie tatsächlich tun:

%Vor%

Nicht sicher, wie nützlich das in echtem Code sein wird, aber es geht um Ihr Beispiel.

    
Steve Jessop 08.12.2013 03:48
quelle
1

Sie können Zeichen und C-artige Zeichenfolgen relativ einfach mit einer vorhandenen Zeichenfolge verketten:

%Vor%

Sie müssen nur sicherstellen, dass die linke Seite von + oder += eine std::string ist.

    
Joe Z 08.12.2013 03:39
quelle
0

Wenn Sie dies mit .Net tun, kann ein Zeichenarray im Zeichenfolgenkonstruktor verwendet werden.

Ссылка

    
Carth 08.12.2013 03:42
quelle
0

Zusätzlich zu Steves und Benjamins Lösung können Sie auch std::stringstream :

verwenden %Vor%     
Zac Howland 08.12.2013 04:09
quelle

Tags und Links