我将 ECPG 与 PostgreSQL 8.4 一起使用。我有一个函数,它接受一个包含指向几个动态分配的、以“null”结尾的整数数组的指针的结构(在这种情况下,我将 null 定义为 -1,因为不需要负值,如
#define INT_ARR_NULL -1
struct foobar {
int * foo;
int * bar;
};
void init_foobar( struct foobar * fb ) {
fb->foo = (int*) calloc( 11, sizeof(int) );
fb->bar = (int*) calloc( 11, sizeof(int) );
fb->foo[10]=INT_ARR_NULL;
fb->bar[10]=INT_ARR_NULL;
int i;
for( i = 0; i < 10; ++i ) {
fb->foo[i] = i;
fb->bar[i] = i;
}
}
void print_foo( struct foobar * fb ) {
int * cursor = fb->foo;
while( *cursor != INT_ARR_NULL ) {
printf( "%d ", *cursor );
++cursor;
}
}
我包含了 print_foo 函数来展示数组如何正常工作。如果我想使用 ECPG 将这些值插入到 PostgreSQL 列中的数组中,我将如何处理?