On 4 Jul 00, at 3:33, wrote:
> void ListSzavak( char **Szavak)
> {
> cout << "Ez a tomb hossza : " << sizeof(KulcsSzavak) << endl;
> // ami nem jo !!! // itt hogy lehet megmondani, hogy a Szavak-ban
> hány // szo talalhato ???
> }
>
> //--------------------------------------------------------------------
> - void main(void) {
> char *Szavak[] =
> {"Hogy","lehet","atadni","ezt","egy","fuggvenynek???"}; ListSzavak(
> Szavak ); int meret = sizeof(Szavak ) / sizeof(Szavak[0]) ;
>
> // ezt a részt sem nagyon értem a sizeof(Szavak[0]) minek a száma
> ???
>
> cout << endl << "A tomb ennyi elemu : " << meret << endl;
> // Vegul is talaltam egy megoldast ---> atadom a tömb meretet is, //
> de.... nincs erre vmi jobb megoldas ??? }
Hi
A szavak egy tomb, ami char*-okat tartalmaz, es nem szabtad
meg a meretet, ezert annyi char* lesz benne, ahany sztringgel
inicializaltad
sizeof(szavak[0]):
a tomb 0. elemenek merete, azaz sizeof(char*)
sizeof(szavak):
a tomb merete, azaz a sizeof(char*)*tomb elemeinek szama.
Ebben az esetben azt adja, hogy hany sztring van a tomben,
hiszen a tomb minden egyes eleme egy sztringre mutat.
En "utkozot hasznalnek, ami megmondja, hogy ez a tomb vege.
char *szavak[]={"Hogy","lehet","atadni","ezt",
"egy","fuggvenynek???",NULL};
int meret = sizeof(szavak ) / sizeof(szavak[0]); //=7
Listszavak(szavak);
}
void Listszavak(char **str)
{
int meret;
for(meret=0;str[meret]!=NULL;meret++)
;
meret++; //mert a sizeof is beleszamolta a NULL-t //=7/
}
Ez kicsit lasabb a sizeof-nal, de egy char*-os tombot hamar vegig
lehet nyalni...
Az atadasra en is varok jobb megoldasokat a profiktol...
Minden jot...
> ---------------------------------------------------------------
E-Mail: mailto: (PMail32 v3.12b)
Web: http://www.tar.hu/mephysto http://www.extra.hu/mephysto
|
> Hogy tudok egy CStringet (Vagy LPCTSTR-t) LPWSTR-e valtani?
> Vagyis unicode string kene. Mellesleg ez a SysAllocStringhez kene.
> Konstans szoveget tudok az LPWSTR valtozo = L"valami" modszerrel de
> itt konvertalni kene.
Nezd meg a
TN059: Using MFC MBCS/Unicode Conversion Macros
technikai leirast az MSDN-ben.
Roviden: hasznald a MultiByteToWideChar Win32 API fuggvenyt, vagy
az A2W makrot (MFC-vel vagy ATL-lel).
Megjegyzes a levelhez: Az L prefix csak forditaskor
hasznalhato,ketkarakteres alapu stringekhez !
Toth Gabor
|