[ Mr. Rejn @ 12.01.2006. 23:32 ] @
Kako da oduzmem samo jedan karakter sa kraja stringa (tj. prvi karakter
sa desna)? Radi se u BCB.
Npr. imam string "ovo je string", a treba mi "ovo je strin".
Ovo mi je potrebno radi oduzimanja zareza kod sklapanja relacionih upita.
[ IDE @ 13.01.2006. 00:34 ] @
ako je u pitanju AnsiString onda pokusaj sa npr.

Edit1->Text=Edit1->Text.SetLength(Edit1->Text.Length()-1);

jesi na AnsiString mislio?
[ tosa @ 13.01.2006. 09:29 ] @
string[strlen(string)-1] = 0;

Naravno, ovo podrazumeva da je string validan i duzi od nula karaktera.
[ IDE @ 13.01.2006. 10:17 ] @
dobro, nekoliko stvari se podrazumjevaju...

[ DarkoR @ 13.01.2006. 14:13 ] @
Citat:
string[strlen(string)-1] = 0;


string[strlen(string)-1] = \0;
[ X Files @ 13.01.2006. 14:31 ] @
Treba ovako:
Code:

AnsiString NekiString = "abcdefgh";
NekiString.SetLength( NekiString.Length() - 1 );



Citat:

string[strlen(string)-1] = 0;

Ovo nije dobro kada su u pitanju AnsiString-ovi, koje koristi BCB. AnsiString je klasa.
Tako da ta NULA nije terminator AnsiString-a (nisam probao ali sam skoro siguran u to).


[Ovu poruku je menjao X Files dana 13.01.2006. u 15:34 GMT+1]
[ Mr. Rejn @ 13.01.2006. 15:31 ] @
Primer sa Edit1->Text radi bas kako treba,ali ja koristim onaj std::string,
dodeljujem im vrednosti u if uslovima i onda ih direktno sabiram i tako stavljam
u upit:
std::string trazi_se = param1 + param2 + param3 + ... + paramN;
Svi su tipa std::string.
Ovaj kod:
Code:

std::string trazi_se;
trazi_se=trazi_se.c_str()[strlen(trazi_se.c_str())-1];

vraca SAMO zarez! (Znaci poslednji karakter u stringu).
(Tako vam je to kada ste amater-Bugs Bunny).
[ X Files @ 13.01.2006. 17:45 ] @
std je potpuno druga stvar (koja nema veze sa BCB AnsiString-ovima)


// NETESTIRANO:

Code:

#include <string>
using namespace std;
// ...
std::string moj_string = "abc";
moj_string.resize(moj_string.length()-1);
// ...


ili (valjda)

Code:

// Powered by Kiklop74
std::string moj_string= "abc"; // std::string moj_string( "abc" );
moj_string.erase(moj_string.length()-1);



[Ovu poruku je menjao X Files dana 13.01.2006. u 19:01 GMT+1]
[ Mr. Rejn @ 13.01.2006. 18:10 ] @
Citat:

Code:

#include <string>
using namespace std;
// ...
std::string moj_string = "abc";
moj_string.resize(moj_string.length()-1);
// ...


To je to, radi i jedno i drugo (resize i erase). Puno hvala.
Poz.

[Ovu poruku je menjao Mr. Rejn dana 13.01.2006. u 19:14 GMT+1]