小编Cro*_*oad的帖子

将 sqlite3_column_text() 返回到文字字符串

我有以下疑问:

考虑从 sqlite 数据库中对下表进行 SELECT:

id | label
1  | P1
1  | P2
1  | P3
1  | P4
Run Code Online (Sandbox Code Playgroud)

我运行以下测试代码:

const unsigned char * new1;
const unsigned char * new2;
const unsigned char * new3;
const unsigned char * new4;

sqlite3_step(stmt);
new1=sqlite3_column_text(stmt,1);

sqlite3_step(stmt);
new2=sqlite3_column_text(stmt,1);

sqlite3_step(stmt);
new3=sqlite3_column_text(stmt,1);

sqlite3_step(stmt);
new4=sqlite3_column_text(stmt,1);

printf("%s\n%s\n%s\n%s\n",new1,new2,new3,new4);
printf("%p\n%p\n%p\n%p\n",new1,new2,new3,new4);
Run Code Online (Sandbox Code Playgroud)

我得到:

P4
P4
P4
P4
0x1d5b7f8
0x1d5b7f8
0x1d5b7f8
0x1d5b7f8
Run Code Online (Sandbox Code Playgroud)

我要打印

P1
P2
P3
P4
Address1
Address2
Address3
Address4
Run Code Online (Sandbox Code Playgroud)

有什么方法可以仅使用字符串文字来打印此内容,而不使用 buffer const char value[N];、strcpy 等...?

c sqlite string pointers literals

2
推荐指数
1
解决办法
2105
查看次数

标签 统计

c ×1

literals ×1

pointers ×1

sqlite ×1

string ×1