# include " extcode.h "
2 Deklarera prototypen för omvandlingen funktion . Passera LStrHandle att omvandlas genom hänvisning , för att möjliggöra för den återvändande av en tillämplig felkod :
MgErr StringToLStrHandle ( std :: string strToConvert , LStrHandle & strResult ) ,
3
Använd funktionen " DSSetHandleSize " för att ändra storlek på LStrHandle variabeln som skickas till funktionen . Den LStrHandle variabeln måste vara stor nog att rymma både resultatet sträng och ett heltal som representerar storleken på den strängen :
//Deklarera ett fel variabel för referens
MgErr errCode ;
//Ändra storlek på LStrHandle
errCode = DSSetHandleSize ( strResult , sizeof (char ) * strToConvert.length () + 4 ),
4
Kopiera storleken på ursprung strängen i LStrHandle variabeln genom att ändra " cnt " medlem av LStrHandle strukturen :
( * strResult ) - > cnt = strToConvert.length ( ) ;
5
Använd " MoveBlock " -funktionen för att kopiera strängen data från C + + string i LStrHandle variabeln . När detta är klart , återlämna eventuella fel som uppstått till användaren :
//Fylla på LStrHandle med strängdata
MoveBlock ( & ( strToConvert.c_str ( ) ) , ( * strResult ) . - > str, ( * strResult ) - > cnt ) ,
//returnera felkod till användaren , om tillämpligt
retur errCode ,