|
| 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.
| |
|
|