Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] String


Rekomendowane odpowiedzi

Opublikowano

Niesamowite z jaką prośbą dziś przychodzę ...aż wstyd trochę ale kto pyta nie błądzi podobno...

Więc raczy mi ktoś pomóc z usuwaniem ostatniego znaku ze stringu ?

Ex:

std::string ciag="blabla";
//skrocenie
std::cout<< ciag.c_str();   //ciag=blabl

Opublikowano

ciag.erease(--ciag.end());

ciag.erase( (++ciag.rbegin()).base() );

ciag.erase( ciag.length()-1 );

ciag = ciag.substr(0, ciag.length()-1);

ciag.insert ( ciag.end()-1, 0 );

 

I jeszcze 20 innych sposobów.

Masz tutaj:

http://www.cplusplus...ference/string/

 

 

A dlaczego

std::cout << string.c_str()

zamiast

std::cout << string;

??

Ta sygnatura jest pusta.

  • 3 tygodnie później...
Opublikowano

@UP możesz rozwinąć, żebym to lepiej zrozumiał? ;)

 

Albo już nie, domyślam się :P.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

to jak już chcesz ułatwiać sobie życie to namespacuj pojedyncze człony np. using namespace std::string.

 

Namespacy zostały stworzone, aby zapobiec kolidowaniu nazw. Jeśli zniesiesz namespace dla std w jakimś pliku, to możesz się przejechać i walnąć deklaracje zmiennej, która była już zadeklarowana gdzieś w przestrzeni nazw std. To może być uciążliwe i denerwujące.

Opublikowano

Czyli możesz sobie tego używać jak chcesz. Tak jest wygodniej. A to że moge sobie jakąś zmienna nie chcący zdeklarowac jeszcze raz to naprawdę strasznie uciążliwe (tak, że jeszcze nigdy mi się to nie zdarzyło).

 

To tak samo jak mówienie, że używanie system("pause") jest złe bo chodzi tylko na windzie... A co mnie to obchodzi, czy naprawdę mój kalkulator, czy mały programik musi chodzić/kompilować się na linuxach, macach i innych systemach?

 

Czepiacie się szczegółów bo macie tak wbite w głowach, te wasze szablony. Using namespace jest złe. system(pause) jest złe.

Mówicie tak, mimo że naprawdę to nie ma znaczenia czy użyje tych rzeczy czy będę pisał std:: przed każdym coutem i stringiem.

Nie ma znaczenia ponieważ te teoretyczne problemy o których wspominałeś się nie zdarzają (a przynajmiej początkującemu i średnio-zaawansowanemu).

 

Złe nawyki ? Co w tym złego? Czy naprawdę sądzicie że jak będę pisał te using namespace to się do tego tak przyzwyczaje że będę pisał to non-stop bez opamiętanie nawet jak będę wiedział że projekt nad którym pracuje nie pozwala mi na używanie tego?

Oczywiście że nie. Używam tego teraz bo tak mi jest wygodnie. A jak zdarzy się sytuacja (raz na milion) w której używanie usingów będzie nie wskazane to po prostu ich nie użyje.

 

Nie ma sensu męczyć się by załapać "dobre nawyki" bo z nawykami nie ma to nic wspólnego.

No chyba że wolicie pisać te "std::" i czuć się jak pr000si, i kręcić głową patrząć na kod z using namespace

"eeee.... co za noob używa usingów, widać zero skilla".

Zamykam temat, bo autor nie trzyma poziomu.

....

Polityka forum zakazuję nam zamykać tematy, tylko dlatego, że są na niskim poziomie.

I lold.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...