次の関数は、外部マシンからバッファーを読み取ります。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);
}