Devolver una Matriz o Array desde una función en C
Posted: Mon May 06, 2013 9:40 am
Debido a requerir bastante velocidad en un proceso estoy tratando de implementar una función en C que necesito que me devuelva una matriz de caracteres.
He buscado algún ejemplo parecido pero no logro encontrarlo.
Adjunto el código con el que estoy probando, aunque no funciona, para ver si alguien puede decir cómo hacerlo o poner algún ejemplo.
Gracias de antemano.
He buscado algún ejemplo parecido pero no logro encontrarlo.
Adjunto el código con el que estoy probando, aunque no funciona, para ver si alguien puede decir cómo hacerlo o poner algún ejemplo.
Gracias de antemano.
- Code: Select all Expand view
- #pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"
#include "string.h"
HB_FUNC( DEVUELVEMATRIZ )
{
LPSTR szTitle = "Nuevo valor";
//LPSTR szMsg = "Hasta Aquí llega";
PHB_ITEM pArray;
char cadena[] = "STATES 1:2|200,2,1:2|201,2,1:7923|202,2,1:5568|203,2,1:1423|204,2,1:1423|205,2,1:1|206,2,1:1|208,2,1:1|209,2,1:17|210,2,1:1|213,2,1:A2DED32F|";
char *elemento;
elemento = [b]strtok[/b](cadena," |");
pArray = hb_itemArrayNew(0);
while (elemento != NULL)
{
//printf("%s\n",elemento);
MessageBox( GetActiveWindow(), elemento, szTitle, 0x40 );
hb_arrayAddForward(pArray,( PHB_ITEM ) elemento );
elemento = strtok(NULL," |");
}
/* Manejo de la matriz dentro de la función en C.
for(i=1;i<=13;i++)
{
MessageBox( GetActiveWindow(), pArray+i-1, szTitle, 0x40 );
}
*/
//Devolver matriz al prg:
hb_itemReturn( pArray );
//return pArray;
}
#pragma ENDDUMP