ich für etwas Ähnliches suchen eine Zeichenfolge in Python zu durchqueren:Verfahrgeschwindigkeit eine Zeichenfolge in C++
heißt
for char in str:
do something
Wie kann ich dies in C++?
Danke
ich für etwas Ähnliches suchen eine Zeichenfolge in Python zu durchqueren:Verfahrgeschwindigkeit eine Zeichenfolge in C++
heißt
for char in str:
do something
Wie kann ich dies in C++?
Danke
wenn str
ist std::string
oder ein anderer Standardbehälter von char
, dann ist das
for (char c : str) {
// do something
}
Wenn Sie die Zeichen der Zeichenfolge ändern möchten, benötigen Sie eine Referenz char & c
anstelle eines Werts char c
.
hochgesetzt. Ich bin mir ziemlich sicher, dass er das sucht, aber ... In Python würde sein 'char' den Typ string haben, und in seinem' tu etwas' könnte er stringähnliche Operationen ausführen es. (Auf der anderen Seite konnte er das Zeichen in 'str' nicht ändern, da' char' eine ein Zeichen lange Teilzeichenfolge von 'std' wäre.) –
OP sollte angeben, was er will, sonst sind die Antworten nicht präzise genug –
@JamesKanze: In der Tat versuche ich nicht, die Python-Semantik exakt zu emulieren, denn das wäre wahrscheinlich eine schlechte Idee, selbst wenn ich Python kannte. Das ist nur "etwas, das einem String in Python ähnelt". –
Mit einem std::string es ganz einfach sein wird:
std::string myStr = "Hello";
for (char c : myStr)
std::cout << c; // Print out every character
oder durch Bezugnahme in Fall, dass Sie es ändern ..
std::string myStr = "Hello";
for (char& c : myStr)
c = 'A';
// mystr = "AAAAA"
Wenn er es ändern will .. –
@NeilKirk Ich glaube nicht, dass Sie die Zeichenfolge viel mit bearbeiten können Pythonschleife entweder. Da Sie C++ 11 verwenden, können Sie 'auto' und' auto & 'verwenden ... – matsjoyce
@matsjoyce Aber warum? Das wäre nur eine Verschleierung. –
Einsatzbereich auf Basis for-Schleife wie diese
char a1[5] = {'a', 'a', 'a', 'c'};
for (auto a : a1)
cout << a << endl;
Ein nicht-null-terminiertes char-Array ist nicht das, worauf Leute normalerweise mit" string "verweisen. –
Und etwas Einrückung/konsistente Formatierung würde wahrscheinlich nicht schaden. –
sicher Sir !!!, ich werde beim nächsten Mal vorsichtig sein –
es hängt davon ab, welche str .. –