1. |
Re: Lamer kerdes (mind) |
44 sor |
(cikkei) |
2. |
Re: Lamer kerdes (mind) |
27 sor |
(cikkei) |
3. |
BCB6 lamer kerdes (mind) |
3 sor |
(cikkei) |
|
+ - | Re: Lamer kerdes (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Szia,
nem hinnem, hogy ego lenne. Mindenki volt kezdo, meg problemai mindenkinek
lehetnek.
> lenne egy nagyon láma kérdésem. Most ismerkedek a C++ Builder 6-tal és a C
> nyelvvel, és a Visual Basices, PHPs múltam miatt nyilvánvaló hogy a
> típusokkal van állandóan gondom. Most az kéne, hogy egy AnsiString-et át
> tudjak tenni char-ba. Hosszas doksi olvasgatás után rátalátam a
> static_cast-ra és társaira, szépen meg is írtam, hogy
>
> AnsiString StrToExplode;
> ...
> StrToExplode = static_cast <char> (StrToExplode);
> ill.
> StrToExplode = (char) (StrToExplode);
>
> ami láthatóan teljesen helyes, de az a hibaüzenet, hogy
> E2031 Cannot cast from 'AnsiString' to 'char' .
>
A gond pont az, hogy a StrToExplode valtozod AnsiString tipusu, es ezert nem
tudja belerakni a char-ra alakitott ertekt.
tehat kell egy pl. Str_StrToExplode (itt a valtozo neveben is jelolgetem a
tipusat), es egy c_StrToExplode
ekkor:
AnsiString Str_StrToExplode;
char c_StrToExplode;
...
c_StrToExplode = static_cast <char> (Str_StrToExplode);
ill.
c_StrToExplode = (char) (Str_StrToExplode);
> A kérdés pedig az, hogy hogyan tudom akkor az AnsiString-ben található
> szöveget char-rá alakítani?
> előre is köszönöm, és főleg magánba küldjétek, mert gondolom elég égő, ha
> ilyen primitív kérdésekre adott válaszok megjelennek a listán :-)
>
> exta
>
Megy maganba is azert ;-)
Imre
Trust is a weakness
|
+ - | Re: Lamer kerdes (mind) |
VÁLASZ |
Feladó: (cikkei)
|
[...]
>AnsiString StrToExplode;
> ...
>StrToExplode = static_cast <char> (StrToExplode);
>ill.
>StrToExplode = (char) (StrToExplode);
>
>ami láthatóan teljesen helyes, de az a hibaüzenet, hogy
>E2031 Cannot cast from 'AnsiString' to 'char' .
>
>A kérdés pedig az, hogy hogyan tudom akkor az AnsiString-ben található
>szöveget char-rá alakítani?
A char gyakorlatilag egy 8 bites szám, így legfeljebb egy karakter
férhet bele, ezért nem vagyok biztos benne, hogy tényleg ezt akarod.
C-ben char* -gal, azaz karakter(sorozat)ra mutató pointerrel szokták
reprezentálni a szövegeket, de C++ -ban inkább a standard könyvtárban
található string osztályt szokás használni.
A static_cast-ról azt írja a C++ könyv, hogy egymással kapcsolatban lévő
típusok közötti konverziót végez, pl. két, ugyanazon osztályhiearchiában
lévő mutatótípus, egész típus és felsoroló típus, vagy lebegőpontos és
egész típus közöttit. Ugyan nem tudom, hogy az AnsiString pontosan
milyen típus, de gyanítom, hogy nem egész, nem mutató és nem
lebegőpontos, ezért nem fog menni a konverzió.
Bye,NAR
|
+ - | BCB6 lamer kerdes (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Köszonöm mindeki segitsegét a subj-beli dologban, sokat jelentett.
Exta
|
|