/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
CString-længde til WideCharToMultiByte
Fra : Flemming Greve


Dato : 25-07-01 20:17

Hej,

Jeg arbejder på et interface mellem et Unicode og et ikke-Unicode system.
Jeg arbejder med Visual C++. Jeg koder ikke normalt i C++. En del af min
opgave, er at minimere andelen af C++-kode og lægge det over i ABAP. Jeg har
fået minimal instruktion.

Jeg har nogle CString's i Unicode, som skal konverteres med funktionen
WideCharToMultiByte. Som 4. parameter skal jeg angive CString'ens længde.
Hvordan får jeg lettest fat i den?

Hvis jeg bruger metoden GetLength direkte i funktionskaldet får jeg
compilerfejl. Jeg formoder, jeg skal lægge resultatet af GetLength ind i en
int. Men hvordan set den sætning nu lige ud?

På forhånd tak,
Flemming



 
 
Jonas Meyer Rasmusse~ (25-07-2001)
Kommentar
Fra : Jonas Meyer Rasmusse~


Dato : 25-07-01 23:52

Det her fandt jeg i msdn:

int GetLength( ) const;

Return Value

A count of the bytes in the string.

Remarks

Call this member function to get a count of the bytes in this CString
object. The count does not include a null terminator.

For multibyte character sets (MBCS), GetLength counts each 8-bit character;
that is, a lead and trail byte in one multibyte character are counted as two
bytes.

....

Det tyder på at den giver dig længden i bytes, og man kunne gætte på at din
funktion forventer at få antallet af tegn.

prøv med strlen( dinCStrin.GetBuffer() ), såvidt jeg lige kan læse, så
skulle den fungere tælle tegnene








Flemming Greve (26-07-2001)
Kommentar
Fra : Flemming Greve


Dato : 26-07-01 16:49

Har fundet løsningen. Man skal bare huske paranteserne efter metoden.



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste