Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

AnsiString-ovi dodela i rasclanjivanje

[es] :: C/C++ programiranje :: AnsiString-ovi dodela i rasclanjivanje

[ Pregleda: 2399 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mjux

Član broj: 124150
Poruke: 158
*.ADSL.neobee.net.



+2 Profil

icon AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 19:38 - pre 200 meseci
zanima me da li je na neki nacin moguce postaviti dodelu izmedju dva AnsiString-a tipa s [ i ]=s1 [ j ]... pokusavao sam na vise nacina bez koriscenja funkcija predefinisanih u bcb ali mi uvek izbacuje neku extra gresku ...
akoneko ima neku ideju molim da je posalje...:)
ako moze bez nekih predefinisanih funkcija jer mi treba cist kod....:P
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 20:17 - pre 200 meseci
Naravno, AnsiString-ovi su jako laki za upotrebu. Samo moraš biti konkretan i reći šta ti treba. Najbolje daj minimalan kod.

Šta je s[ i ] = s1[ j ] ? Jesu li to dva niza AnsiString-ova ili pojedinačni elementi (karakter) jednog AnsiString-a ?
 
Odgovor na temu

mjux

Član broj: 124150
Poruke: 158
*.ADSL.neobee.net.



+2 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 20:27 - pre 200 meseci
ok konkretno:

imam dva stringa
s: petar je covek //:)
s1: 10#bio

treba mi da iz stringa s1 izvucem broj koji se nalazi ispred karaktera '#'
taj broj koji izvucemo i pretvorimo u int nam je redni broj pozicije od koje pocinjemo da umecemo
ostatak stringa s1(posle znaka '#'(ali bez njega)) u string s!!!

probao sam tako sto sam pokusao da u neki pomocni string pom izvucem taj broj

int i=1;

while(s [ i ]!='#')
{
pom [ i ]=s [ i ]; /// ali kad dodje do ovog dela program se zapuca.....
}

necu da koristim funkcije posto sam sa njima vec odradio ali ovo mi vec ide na zivce
zanima me da li je dodela ovog tipa uopste moguca u c++-u
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 20:55 - pre 200 meseci
Code:

AnsiString S = "Petar je covek";
AnsiString S1= "10#bio";
// ...
int pozicija = S1.Pos( "#" );
// ...
AnsiString Broj = S1.SubString( 1, pozicija - 1 ); // 10
AnsiString Ostatak = S1.SubString( pozicija + 1, S1.Length()-pozicija ); // bio
// ...

U BCB6 postoje (StrUtils.hpp) MidStr(), LeftStr(), RightStr(), sa kojima bi eventualno bilo manje koda.

Šta znači umetanje Ostatka u S ?
Code:

S = S + Ostatak; // <--- Dodvanje na kraj
S = Ostatak + S; // <--- Dodvanje na pocetak
S.Insert( Ostatak, 6 ); //<--- Umetanje od 6te pozicije ( ili  S = S.Insert( Ostatak, 6 ), ne mogu da se setim)


Citat:

necu da koristim funkcije posto sam sa njima vec odradio ali ovo mi vec ide na zivce. zanima me da li je dodela ovog tipa uopste moguca u c++-u

Objasni. Ako nećeš da koristiš AnsiString i njegove metode i funkcije, onda sve pretvori prvo u normalan char* pa radi po sirovom C/C++.

Citat:

int i=1;

while(s [ i ]!='#')
{
pom [ i ]=s [ i ]; /// ali kad dodje do ovog dela program se zapuca.....
}

Ovaj kod svakako se zakucava jer nemas uvecanje brojaca. Ipak, ovakve stvari nemoj da radis u VCL.

 
Odgovor na temu

mjux

Član broj: 124150
Poruke: 158
*.ADSL.neobee.net.



+2 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 20:59 - pre 200 meseci
sustina svega je da se proveri da li se sa ANSI stringom moze raditi na basic osnovu kao i sa char*
da li moze da se prolazi sa indexima, da se sazima, rotira, i sve sto se moze raditi sa indexnim adresiranjem u c-u
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 21:03 - pre 200 meseci
Uglavnom ne.
AnsiString je (složen tip) KLASA koja nije NULL terminated. Interno se implementiraju sve realokacije, privremeni objekti i sl. Čak i ako nešto proradi u trenutku, ne mora da znači da je to pravi način.

Za klasično adresno indeksiranje i operacije nad NULL terminated stringom prvo pretvori AnsiString objekat u char*.
 
Odgovor na temu

mjux

Član broj: 124150
Poruke: 158
*.ADSL.neobee.net.



+2 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 21:05 - pre 200 meseci
ok hvala
sad znam da vise ne moram da se mucim sa ovim
 
Odgovor na temu

mjux

Član broj: 124150
Poruke: 158
*.ADSL.neobee.net.



+2 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 21:14 - pre 200 meseci
e da jos jedna stvar
int i=1;

while(s [ i ]!='#')
{
pom [ i ]=s [ i ]; /// ali kad dodje do ovog dela program se zapuca.....
i++;///// sad ima i brojac ali ipak
}



pom [ i ]=s [ i ];//zanima me ovo... da li postoji ikakva mogucnost da ja pristupim podpolju ili cemu vec objekta i izmenim sta je upisamo na njemu ili ne
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: AnsiString-ovi dodela i rasclanjivanje31.10.2007. u 21:38 - pre 200 meseci
Citat:
mjux: e da jos jedna stvar
int i=1;

while(s [ i ]!='#')
{
pom [ i ]=s [ i ]; /// ali kad dodje do ovog dela program se zapuca.....
i++;///// sad ima i brojac ali ipak
}
pom [ i ]=s [ i ];//zanima me ovo... da li postoji ikakva mogucnost da ja pristupim podpolju ili cemu vec objekta i izmenim sta je upisamo na njemu ili ne


Ne znam šta podrazumevaš pod podpolje/objekat, i šta bi konkretno menjao? Još jednom kažem, AnsiString ima sve što je potrebno za ugodan rad sa stringovima, i retko kad je potrebna neka konverzija u char*.
Ovime:
pom [ i ]=s [ i ]
... dodeljujes karakter s[ i ] u karakter pom[ i ]. To je legalno, dok god ne izađeš izvan limita.
 
Odgovor na temu

[es] :: C/C++ programiranje :: AnsiString-ovi dodela i rasclanjivanje

[ Pregleda: 2399 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.