以下函数从外部机器读取缓冲区,使用 strtok 我得到一些我需要的令牌,在 printf 我有一些结果,例如
Results1: 12, 23.345, 2.34, 23.45, 5.67
我想将这些结果保存在一个名为 results 的 Mysql 表中,但我不知道在查询中的 VALUES() 内写什么。如何插入 resa、resb、resc、resd、rese?
for (;;)
{
char buff[1000];
n=read(fd,buff,1000);
sleep(1);
char resa[25] = "", resb[25] = "", resc[25] = "", resd[25] = "", rese[25] = "";
char* ptr;
ptr = strtok(buff, "+PARAMETERS()\nsYSTEM ,=M:DK:RT:PTT()");
int i = 0;
while (ptr != NULL)
{
ptr = strtok(NULL, "+PARAMETERS()\nsYSTEM ,=M:DK:RT:PTT()");
if (i == 2)
strcat(resa, ptr);
if (i == 5)
strcat(resb, ptr);
if (i == 6)
strcat(resc, ptr);
if (i == 8)
strcat(resd, ptr);
if (i == 10)
strcat(rese, ptr);
i++;
}
printf("Results1: %s, %s, %s, %s, %s\n\n", resa,resb,resc,resd,rese);
if(mysql_query(conn, "INSERT INTO results VALUES(...)"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
res = mysql_use_result(conn);
}