这篇教程C++ sqlite3_result_text函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sqlite3_result_text函数的典型用法代码示例。如果您正苦于以下问题:C++ sqlite3_result_text函数的具体用法?C++ sqlite3_result_text怎么用?C++ sqlite3_result_text使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sqlite3_result_text函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: renameParentFuncstatic void renameParentFunc( sqlite3_context *context, int NotUsed, sqlite3_value **argv){ sqlite3 *db = sqlite3_context_db_handle(context); char *zOutput = 0; char *zResult; unsigned char const *zInput = sqlite3_value_text(argv[0]); unsigned char const *zOld = sqlite3_value_text(argv[1]); unsigned char const *zNew = sqlite3_value_text(argv[2]); unsigned const char *z; /* Pointer to token */ int n; /* Length of token z */ int token; /* Type of token */ UNUSED_PARAMETER(NotUsed); for(z=zInput; *z; z=z+n){ n = sqlite3GetToken(z, &token); if( token==TK_REFERENCES ){ char *zParent; do { z += n; n = sqlite3GetToken(z, &token); }while( token==TK_SPACE ); zParent = sqlite3DbStrNDup(db, (const char *)z, n); if( zParent==0 ) break; sqlite3Dequote(zParent); if( 0==sqlite3StrICmp((const char *)zOld, zParent) ){ char *zOut = sqlite3MPrintf(db, "%s%.*s/"%w/"", (zOutput?zOutput:""), z-zInput, zInput, (const char *)zNew ); sqlite3DbFree(db, zOutput); zOutput = zOut; zInput = &z[n]; } sqlite3DbFree(db, zParent); } } zResult = sqlite3MPrintf(db, "%s%s", (zOutput?zOutput:""), zInput), sqlite3_result_text(context, zResult, -1, SQLITE_DYNAMIC); sqlite3DbFree(db, zOutput);}
开发者ID:Adoni,项目名称:WiEngine,代码行数:45,
示例2: ieee754funcSQLITE_EXTENSION_INIT1#include <assert.h>#include <string.h>/*** Implementation of the ieee754() function*/static void ieee754func( sqlite3_context *context, int argc, sqlite3_value **argv){ if( argc==1 ){ sqlite3_int64 m, a; double r; int e; int isNeg; char zResult[100]; assert( sizeof(m)==sizeof(r) ); if( sqlite3_value_type(argv[0])!=SQLITE_FLOAT ) return; r = sqlite3_value_double(argv[0]); if( r<0.0 ){ isNeg = 1; r = -r; }else{ isNeg = 0; } memcpy(&a,&r,sizeof(a)); if( a==0 ){ e = 0; m = 0; }else{ e = a>>52; m = a & ((((sqlite3_int64)1)<<52)-1); m |= ((sqlite3_int64)1)<<52; while( e<1075 && m>0 && (m&1)==0 ){ m >>= 1; e++; } if( isNeg ) m = -m; } sqlite3_snprintf(sizeof(zResult), zResult, "ieee754(%lld,%d)", m, e-1075); sqlite3_result_text(context, zResult, -1, SQLITE_TRANSIENT); }else if( argc==2 ){
开发者ID:0xr0ot,项目名称:sqlcipher,代码行数:45,
示例3: function_offsetsstatic voidfunction_offsets (sqlite3_context *context, int argc, sqlite3_value *argv[]){ gchar *offsets, **names; gint offset_values[4]; GString *result = NULL; gint i = 0; if (argc != 2) { sqlite3_result_error(context, "wrong number of arguments to function tracker_offsets()", -1); return; } offsets = sqlite3_value_text (argv[0]); names = (unsigned int *) sqlite3_value_blob (argv[1]); while (offsets && *offsets) { offset_values[i] = g_strtod (offsets, &offsets); /* All 4 values from the quartet have been gathered */ if (i == 3) { if (!result) { result = g_string_new (""); } else { g_string_append_c (result, ','); } g_string_append_printf (result, "%s,%d", names[offset_values[0]], offset_values[2]); } i = (i + 1) % 4; } sqlite3_result_text (context, (result) ? g_string_free (result, FALSE) : NULL, -1, g_free);}
开发者ID:Pelagicore,项目名称:tracker-ivi,代码行数:45,
示例4: pg_string_agg_finalextern void pg_string_agg_final(sqlite3_context *context) { STRING_AGG_CONTEXT_T *ctx; ctx = (STRING_AGG_CONTEXT_T *)sqlite3_aggregate_context(context,0); if (ctx) { if (ctx->sz == 0) { sqlite3_result_null(context); } else { // SQLite3 will free what we have allocated sqlite3_result_text(context, (char *)ctx->aggr, ctx->len, sqlite3_free); ctx->aggr = (char *)NULL; ctx->sz = 0; ctx->len = 0; } } else { sqlite3_result_null(context); }}
开发者ID:sfaroult,项目名称:sqlite_libs,代码行数:18,
示例5: hunupperSQLITE_EXTENSION_INIT1static void hunupper(sqlite3_context *ctx, int argc, sqlite3_value **argv){ const unsigned char *input; int length, pos = 0; unsigned char *result; if (argc != 1) { sqlite3_result_error(ctx, "invalid number of arguments", -1); return; } if (sqlite3_value_type(argv[0]) == SQLITE_NULL) return; input = (const unsigned char *) sqlite3_value_text(argv[0]); if (!input) { sqlite3_result_error(ctx, "no input specified", -1); return; } length = strlen((const char*) input); result = (unsigned char *)sqlite3_malloc(length); if (!result) { sqlite3_result_error(ctx, "cannot allocate result", -1); return; } while (pos < length) { result[pos] = input[pos] >= 'a' && input[pos] <= 'z' ? 0xDF & input[pos] : input[pos]; switch (input[pos++]) { case 0xc3: /* á-a1>81 é-a9>89 í-ad>8d ó-b3>93 C++ sqlite3_result_value函数代码示例 C++ sqlite3_result_int64函数代码示例
|