• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak odciąć pewną część stringa?

Object Storage Arubacloud
0 głosów
351 wizyt
pytanie zadane 26 listopada 2015 w C i C++ przez Melchior Obywatel (1,300 p.)

Program ma usunąć litery od momentu napotkania litery 'q' ktora poprzedza miejsce puste a przed nią jest puste miejsce lub koniec lancucha(tylko jak ten koniec łancucha rozpoznac? )

string zdanie;
	cout << "WPISZ ZDANIE:\n";
	getline(cin, zdanie);
	for (int i = 1; i < zdanie.length()-1; i++)
	{
		if (zdanie[i - 1] == ' '&&zdanie[i] == 'q' && (zdanie[i + 1] == ' ' || zdanie[i + 1] == '\0'))
		{
			zdanie.erase(i, zdanie.length() - i);
             break;
		}

zastosowałem erase od napotkania przypadku, ale nie można jakoś łatwiej? wstawienie '\0' usuwało tylko to miejsce w które zostało wstawione.

zdanie[i + 1] == '\0'  // ta częśc nie działa(rozpoznanie konca lancucha)

 
  

2 odpowiedzi

+1 głos
odpowiedź 26 listopada 2015 przez Ehlert Ekspert (213,090 p.)

Przyda Ci się dokumentacja. Wiem, że po angielsku ale warto zajrzeć smiley 

PS. Pamiętaj, że substr zwraca stringa. 

0 głosów
odpowiedź 26 listopada 2015 przez Melchior Obywatel (1,300 p.)

zamiast zdanie[i + 1] == '\0' mogłem dać i==zdanie.length()-1( no i warunek w for trzeba zmienić), dzięki za pomoc..

	for (int i = 1; i < zdanie.length(); i++)
	{
		if (zdanie[i - 1] == ' '&&zdanie[i] == 'q' && (zdanie[i + 1] == ' ' || i == zdanie.length() - 1))
		{
			zdanie.erase(i, zdanie.length() - i-1);
			break;
		}

	}

 

Podobne pytania

0 głosów
5 odpowiedzi 945 wizyt
pytanie zadane 12 listopada 2015 w Rozwój zawodowy, nauka, praca przez nikt Nowicjusz (190 p.)
–2 głosów
2 odpowiedzi 410 wizyt
pytanie zadane 20 sierpnia 2020 w C i C++ przez Drożdżówka Obywatel (1,870 p.)

92,755 zapytań

141,677 odpowiedzi

320,423 komentarzy

62,101 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...