当使用MYSQL C API查询结果时。结果以MYSQL_ROW类型返回,我可以使用printf("%s",row)轻松地显示它。但是,如果我想将row的内容赋值到一个int中,该怎么办?我该怎么做呢?
这是我正在编写的程序的一部分。
int k = 0;
int sr_nos[1024];
int status;
do {
MYSQL_RES *result = mysql_store_result(con);
if( result == NULL) {
printf("No Serial no. associated with the tickets");
printf("stderr: %s\n", mysql_error(con));
mysql_close(con);
exit(1);
break;
}
MYSQL_ROW row = mysql_fetch_row(result);
printf("%2s\n", row[0]);
//store serial no.
sr_nos[k] = row[0];
mysql_free_result(result);
status = mysql_next_result(con);
if(status > 0) {
printf("stderr: %s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
k++;
} while(status == 0);发布于 2021-11-18 08:32:23
row[0]是一个字符*(因为MYSQL_ROW是一个字符**)。如果该值可转换为int,则可以执行以下操作:
#include <stdlib.h>
...
sr_nos[k] = atoi(row[0]);https://stackoverflow.com/questions/70014425
复制相似问题