Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在查询中填充/插入值_C_String_Replace_Sqlite_Str Replace - Fatal编程技术网

C 在查询中填充/插入值

C 在查询中填充/插入值,c,string,replace,sqlite,str-replace,C,String,Replace,Sqlite,Str Replace,我是C语言的新手,我正在尝试用SQLITE3DB编写简单的程序 我有这样的疑问: sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) " \ "VALUES (1, 'Paul', 32, 'California' ); " \ sprintf(sql, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) " "VALUES (%d, '%s', %d, '%s');", 1, "Paul", 32,

我是C语言的新手,我正在尝试用SQLITE3DB编写简单的程序

我有这样的疑问:

sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "  \
     "VALUES (1, 'Paul', 32, 'California' ); " \
sprintf(sql, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "
"VALUES (%d, '%s', %d, '%s');", 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');
如果无法做到这一点,那么最好的方法是什么

谢谢

Create a buffer and fill it with the string using sprintf. Here's a very generic example: int main () { char buffer [50]; int n, a=5, b=3; n=sprintf (buffer, "%d plus %d is %d", a, b, a+b); printf ("[%s] is a string %d chars long\n",buffer,n); return 0; } Output: [5 plus 3 is 8] is a string 13 chars long 使用sprintf创建一个缓冲区并用字符串填充它。 下面是一个非常通用的示例: int main() { 字符缓冲区[50]; int n,a=5,b=3; n=sprintf(缓冲区,“%d加上%d等于%d”,a,b,a+b); printf(“[%s]是一个字符串%d个字符长\n”,缓冲区,n); 返回0; } 输出: [5加3等于8]是长度为13个字符的字符串 使用sprintf创建一个缓冲区并用字符串填充它。 下面是一个非常通用的示例: int main() { 字符缓冲区[50]; int n,a=5,b=3; n=sprintf(缓冲区,“%d加上%d等于%d”,a,b,a+b); printf(“[%s]是一个字符串%d个字符长\n”,缓冲区,n); 返回0; } 输出: [5加3等于8]是长度为13个字符的字符串 使用sprintf创建一个缓冲区并用字符串填充它。 下面是一个非常通用的示例: int main() { 字符缓冲区[50]; int n,a=5,b=3; n=sprintf(缓冲区,“%d加上%d等于%d”,a,b,a+b); printf(“[%s]是一个字符串%d个字符长\n”,缓冲区,n); 返回0; } 输出: [5加3等于8]是长度为13个字符的字符串 使用sprintf创建一个缓冲区并用字符串填充它。 下面是一个非常通用的示例: int main() { 字符缓冲区[50]; int n,a=5,b=3; n=sprintf(缓冲区,“%d加上%d等于%d”,a,b,a+b); printf(“[%s]是一个字符串%d个字符长\n”,缓冲区,n); 返回0; } 输出: [5加3等于8]是长度为13个字符的字符串 看起来适合您的问题(在C89中介绍)

现在只需做如下操作:

sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "  \
     "VALUES (1, 'Paul', 32, 'California' ); " \
sprintf(sql, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "
"VALUES (%d, '%s', %d, '%s');", 1, "Paul", 32, "California");
要防止缓冲区溢出,请使用(在C99中介绍)。

看起来适合您的问题(在C89中介绍)

现在只需做如下操作:

sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "  \
     "VALUES (1, 'Paul', 32, 'California' ); " \
sprintf(sql, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "
"VALUES (%d, '%s', %d, '%s');", 1, "Paul", 32, "California");
要防止缓冲区溢出,请使用(在C99中介绍)。

看起来适合您的问题(在C89中介绍)

现在只需做如下操作:

sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "  \
     "VALUES (1, 'Paul', 32, 'California' ); " \
sprintf(sql, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS) "
"VALUES (%d, '%s', %d, '%s');", 1, "Paul", 32, "California");
要防止缓冲区溢出,请使用(在C99中介绍)。

看起来适合您的问题(在C89中介绍)

现在只需做如下操作:

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

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

'Paul'
'California'
->
“Paul”
“California”
您的意思是什么?还有,您所说的可能是什么意思?
somefunction()
的用途是什么?要打印成字符串,
sprintf()
可能会很方便,如果您需要的话。是的,我是说“Paul”和“California”,我在变量中有这些值。somefunction()-是否有任何函数可以用给定的值替换%s。
'Paul'
'California'
->
“Paul”
“California”
您的意思是什么?还有,您所说的可能是什么意思?
somefunction()
的用途是什么?要打印成字符串,
sprintf()
可能会很方便,如果您需要的话。是的,我是说“Paul”和“California”,我在变量中有这些值。somefunction()-是否有任何函数可以用给定的值替换%s。
'Paul'
'California'
->
“Paul”
“California”
您的意思是什么?还有,您所说的可能是什么意思?
somefunction()
的用途是什么?要打印成字符串,
sprintf()
可能会很方便,如果您需要的话。是的,我是说“Paul”和“California”,我在变量中有这些值。somefunction()-是否有任何函数可以用给定的值替换%s。
'Paul'
'California'
->
“Paul”
“California”
您的意思是什么?还有,您所说的可能是什么意思?
somefunction()
的用途是什么?要打印成字符串,
sprintf()
可能会很方便,如果您需要的话。是的,我是说“Paul”和“California”,我在变量中有这些值。somefunction()-是否有任何函数可以用给定值替换%s。