[C++ Bulider] AnsiString czy string ??

0

Hej!
W C++ istnieje <ort>w ogóle</ort><ort> typ string ???
Czy trzeba używać AnsiString...
Nie moge uzyc funkcji substr;

substr(zmienna_tekstowa,0, strlen(zmienna_tekstowa)-1);

Nie pomaga też basic_string::substr

Dodałem do listy nagłówków <string.h>
HMM w C++ Builder chyba trzeba uzywac String a nie string...
Ale nadal brakuje substr</ort>

0

Bo to ma być moduł <string> bez h
i typ string jest std::string nazwa_zmiennej

0

Dawno nie pisałem w Builderze ale z tego co pamiętam to klasy String i AnsiString posiadają metodę substr lub jej ekwiwalent możliwe, że nazywa się substring :-)

0

losmarcelos - substr jest metoda klasy string, wiec jak juz cos to:

zmienna_tekstowa.substr(0, strlen(zmienna_tekstowa)-1);

http://www.cppreference.com/cppstring/

0

LOSMARCELOS -> strlen(zmienna_tekstowa)? :/

0

Używaj co Ci pasuje.
AnsiString ( to samo co String) pochodzi biblioteki VCL .
Typ string z biblioteki standartowej C++ .
Trzeba dołączyć tylko odpowiednie nagłówki .
Przy projekcie tworzonym w BCB trzeba zanaczyć że chcemy
używać VCL , kompilator dołączy resztę (dla AnsiString) .
Aby używać std::string trzeba dołączyć "ręcznie" <cstring.h> .
( dla wersji 3 , dla nowszych być może w postaci <cstring> lub coś podobnego ;-) )
Poprzez niego jest włączany nagłówek <string.stl> [ z std::stringami ]

Nagłówek <string.h> pozwala uzywać funkcji pracujących na napisach
ale są to funkcje standardowe C , czyli strcmp , strcpy itd
czyli pracujące na napisach w stylu C .
Troche to pokręcone ale u mnie tak to właśnie działa .

0

'std::string' jest w '<string>'.
'<cstring>' to prawie to samo co '<string.h>' i są tam funkcje do c-stringow (strcat, strlen ...)
Nie ma w bibliotece standardowej czegoś takiego jak <cstring.h>

0

Dodałem do listy nagłówków <string.h>
HMM w C++ Builder chyba trzeba uzywac String a nie string...

W standardowej nie ma , ale w BCB jest ..
A std::string mam w <string.stl> ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1