LabVIEW, National Instruments , es un programa versátil y flexible que se puede utilizar para manipular y presentar los resultados de los experimentos científicos. Esta versatilidad viene de la API ofrecida con el software LabVIEW que permite a un programador para extender la funcionalidad ofrecida por la aplicación . Pasando datos a LabVIEW utilizando el API proporcionado es compleja hasta que aprenda los pasos apropiados necesarios , pero el código para pasar los datos es fácil de reutilizar . Cosas que necesitará
texto editor
Compiler
Mostrar más instrucciones
1
Incluir el encabezado extcode de la API de LabVIEW. Este contiene la funcionalidad vital necesaria para la conversión de cadenas . También incluya el encabezado de C + cadena + de la biblioteca estándar, que contiene la información necesaria para trabajar con cadenas de C + + :
# include
# include " extcode.h "
< br > 2
Declarar el prototipo de la función de conversión . Pase el LStrHandle ser convertidos por referencia, para permitir la devolución de un código de error de aplicación :
MgErr StringToLStrHandle ( std :: string strToConvert , LStrHandle y strResult ) ;
3 < p> Utilice la función " DSSetHandleSize " para cambiar el tamaño de la variable LStrHandle pasado a la función. La variable LStrHandle debe ser lo suficientemente grande como para albergar tanto la cadena de resultado y un entero que representa el tamaño de la cadena:
//Declarar una variable de error para referencia
MgErr errcode ;
//Cambiar el tamaño del LStrHandle
errcode = DSSetHandleSize ( strResult , sizeof (char ) * strToConvert.length () + 4 ) ;
4
Copia el tamaño del origen cadena en la variable LStrHandle modificando el miembro " cnt " de la estructura LStrHandle :
(* strResult ) -> cnt = strToConvert.length ();
5
Utilice el función " MoveBlock " para copiar los datos de la cadena de la cadena de C + + en la variable LStrHandle . Después de que haya terminado , vuelva los errores encontrados al usuario:
//Llenar el LStrHandle con los datos de la cadena
MoveBlock (& ( strToConvert.c_str ()), (* strResult ) . -> str, (* strResult ) -> cnt ) ;
//devolver el código de error al usuario , en su caso
errcode retorno;
< br >