c - 在查询中填充/插入值

标签 c string replace sqlite str-replace

我是 C 的新手,我正在尝试使用 sqlite3 db 制作简单的程序。

我有这样的查询:

sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "  \
     "VALUES (1, 'Paul', 32, 'California' ); " \

我在 char* 变量中有值,是否可以像在 printf 上那样使用 %s 例如:

sql = somefunction("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "  \
     "VALUES (%d, '%s', %d, '%s');", 1, 'Paul', 32, 'California');

如果那不可能,最好的方法是什么?

谢谢!

最佳答案

sprintf()看起来适合您的问题(在 C89 中引入)。

现在简单地做这样的事情:

sprintf(sql, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "
"VALUES (%d, '%s', %d, '%s');", 1, "Paul", 32, "California");

要防止缓冲区溢出,请使用 snprintf() (在 C99 中引入)。

关于c - 在查询中填充/插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30238317/

相关文章:

c - 将指向结构数组的指针传递给 malloc 的函数

c - 协程恢复上的 Lua 段错误

javascript - JS多重替换

代码将无法正确运行

C 编程 - 应该多久使用一次 realloc?

c# - 根据多个字符定界符拆分字符串

python gzipped fileinput 返回二进制字符串而不是文本字符串

java - 交换单个字母单词的大小写

mysql - 如何计算 MySQL/正则表达式替换器中的单词?

string - 我只想使用 powershell 替换字符串的某些字符