mysql 取出的值row装载 int数据类型变char 该咋办 ?

 
    MYSQL_ROW row;  //char** 二维数组,存放一条条记录
    MYSQL mysql;    //一个数据库结构体

	MYSQL_RES* result = NULL;
	int num_rows = 0, num_fields = 0;
	result = mysql_store_result(&mysql);//获取查询结果

	num_rows = mysql_num_rows(result);//行
	num_fields = mysql_num_fields(result);//列

	row = mysql_fetch_row(result);

while (row = mysql_fetch_row(result)) {//返回结果集中行的记录
        for (size_t i = 0; i < num_fields; i++) {
            printf("  %s", row[0]); // char 正常
            printf("  %d", row[0]); // int 报错

            s.age = row[0]; // 报错
            s.length = row[1];  // 报错.. 
            //原想数据存mysql 现在读取回来 发现row是个char二维数组..
                导致无法int类型的数值进行赋值操作..
		
        }
}

 

row里面统一都是字符串类型,你想转换成整数,要用atoi等字符串转整数函数转换一下,具体哪个转换函数,看一下你row[i]是哪种字符串类型吧