# include " extcode.h "
< br > 2
verklaren het prototype voor uw conversie-functie . Passeren de LStrHandle te worden omgezet door middel van verwijzing , zodat voor de terugkeer van een toepasselijke foutcode :
MgErr StringToLStrHandle
( std :: string strToConvert , LStrHandle & strResult ) ;
3
Gebruik de functie " DSSetHandleSize " om de LStrHandle variabele doorgegeven aan de functie wijzigen. De LStrHandle variabele moet groot genoeg zijn om zowel het resultaat string en een integer die de omvang van die string te houden :
//Declareer een fout variabele ter referentie
MgErr errcode ;
//Resize de LStrHandle
errcode
= DSSetHandleSize ( strResult , sizeof ( char ) * strToConvert.length ( ) + 4 ) ;
Copy 4 de grootte van de oorsprong string in de LStrHandle variabele door aanpassing van de " cnt " lid van de LStrHandle structuur :
( * strResult ) - > cnt = strToConvert.length ( ) ;
5
Gebruik de " MoveBlock " functie de tekenreeks van de C + + string in de variabele LStrHandle kopiëren . Nadat dit is voltooid , keren eventuele fouten aangetroffen aan de gebruiker :
//Bevolk de LStrHandle met de string data
MoveBlock
( & ( strToConvert.c_str ( ) ) , ( * strResult ) . - > str , ( * strResult ) - > cnt ) ;
//terugkeer van de foutcode aan de gebruiker , indien van toepassing
terugkeer errcode
;
< br >