Funkcje obsługujące ciągi znaków — część 1
Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 70 z 74.
Oto kilka przydatnych funkcji dotyczących ciągów znaków:
insert(pos, str): Wstawia ciąg znakówstrna pozycjiposw bieżącym ciągu znaków.
replace(pos, len, str): Zastępujelenznaków, zaczynając od pozycjipos, ciągiemstr.
substr(pos, len): Zwraca podciąg bieżącego ciągu, zaczynający się na pozycjiposi mający długośćlen.
append(str): Dodaje ciąg znakówstrna końcu bieżącego ciągu znaków.
Na przykład, używając następującego ciągu znaków:
std::string str = "Hello, World!";str.insert(5, " C++");
// Wynik: "Hello C++, World!"str.replace(7, 5, "Universe");
// Wynik: "Hello, Universe!"str.substr(0, 5);
// Wynik: "Hello"str.substr(7, 5);
// Wynik: "World"str.substr(7);
// Wynik: "World!"str.append(" This is universe");
// Wynik: "Hello, World! This is universe"Wyzwanie
ŁatwyUtwórz funkcję o nazwie stringOperations, która pobiera ciąg znaków jako dane wejściowe i wykonuje następujące operacje za pomocą funkcji do obsługi ciągów znaków:
- Wypisuje długość ciągu znaków.
- Dołącza ciąg znaków
" - Modified"do oryginalnego ciągu. - Wstawia ciąg znaków
"C++ "na początku ciągu. - Wyodrębnia podciąg o długości 5, zaczynając od pozycji 5.
- Zastępuje wystąpienie podciągu o długości 5, zaczynającego się na pozycji 5, ciągiem znaków "Awesome".
- Wypisuje zmodyfikowany ciąg po każdej operacji.
Użyj następującego formatu:
Length: [Length of string]
Append: [After Appending]
Insert: [After Insert]
Extract: [The extracted string]
Replace: [After replacing]Spróbuj swoich sił
#include <iostream>
#include <string>
void stringOperations(std::string str) {
// 1. Wypisz długość ciągu znaków
// 2. Dodaj " - Modified" na końcu ciągu znaków
// 3. Wstaw "C++ " na początku
// 4. Wyodrębnij podciąg o długości 5, zaczynając od pozycji 5
// 5. Zastąp podciąg na pozycji 5 tekstem "Awesome"
}
int main() {
std::string str;
std::getline(std::cin, str);
stringOperations(str);
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawy wejścia/wyjścia
Instrukcja coutInstrukcja cinWczytywanie ciągu znakówPowtórka — do 120Powtórka — prawda czy fałsz3Zmienne, część 2
Deklarowanie typówKonwencje nazewnictwaPowtórka — inicjalizacja zmiennychKonwersja typów, część 1Konwersja typów, część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator warunkowyPowtórzenie: if - elseZagnieżdżone if - else9Pętle
Pętla for — część 1Pętla whilePętla do whilePrzerwanie pętliPrzejście do następnej iteracjiPętla for — część 2Pętle zagnieżdżonePętle nieskończonePodsumowanie — dane wejściowe dynamiczne12Ciągi znaków
Ciągi znaków w stylu C — część 1Ciągi znaków w stylu C — część 2Operacje na ciągach znakówFunkcje obsługujące ciągi znaków — część 1Funkcje obsługujące ciągi znaków — część 2Poćwicz samodzielnie: Kompilator C++ online