"Dr. sqlite3_bind_text"与"Mr. sqlite3_column_text"之谜
"Dr. sqlite3_bind_text" and "Mr. sqlite3_column_text" Mystery
为什么sqlite3_column_text
返回unsigned char *
,
但是sqlite3_bind_text
需要const char *
.
当您要在数据库中存储字节数组时,这可能会感兴趣。
如果你想存储一些字节数组(不是以null结尾的字符串),你应该使用sqlite3_bind_blob而不是sqlite3_bind_text
(它需要一个文本,即一个以null结尾的字符串)。
如果您知道您正在处理以 null 结尾的字符串,请使用 sqlite3_bind_text
,也许带有强制转换以(const char*)
;在 C 中,强制转换不会在运行时更改任何数据(除了与浮点数或更大或更小的整数类型的数字转换),它们只是更改编译时类型(至少对于常见系统上的指针类型)。
(在上个世纪,一些奇怪的机器 - 例如Cray1 - 具有不同的指针类型大小,例如 char*
指针的位数与int*
指针)的位数不同)。
相关文章:
- 无法在windows上使用mingw将sqlite3与c连接
- sqlite3 和生成文件中的链接出现问题
- 如何在 sqlite3 中的表中添加整数列表
- SQLite3 在 c++ 中输出 SELECT 上的空列表
- 使用 sf::Text 数组时崩溃
- 打印从SQLite3数据库检索的数据C++与命令行中相同的方式
- Sqlite3:将数据库表名存储在向量中
- 如何使用 c++ 在 sqlite3 中打开受密码保护的数据库?
- 为什么 sf::Text 显示点而不是数字?
- 从DLL导出函数,LoadLibrary()需要用TEXT转换的字符串才能编译而不会出错
- 如何使用Qt QSqlDriver::subscribeToNotification with SQLite3?
- 在 vscode for c++ 中使用 sqlite3(未定义对 'xxx' 的引用)(我使用了 -lsqlite3)
- 为 g++ build 设置超时,为 Sublime Text 运行?
- Sqlite3 C++数据库被锁定
- 编辑期间的 QTableWidgetItem text() 属性
- 如何找到目标文件 *.o 的 ram rom 使用情况(.bss .text .rodata .data)?
- 尝试打开 SQLite3 数据库时出错
- 在 Linux 上编译 - 在函数 '_start' 中:(.text+0x20):对 'main' 的未定义引用
- 部署基于 qt 的项目后,我的 sqlite3 文件不会被复制 (android)
- sqlite3绑定多个语句值