一是用scanf,像你的数据可以定义两个变量,第一个是double
x,第二个为char
s[20]
当然,你可以用结构体,读文件用
fscanf("%lf%s",&x,s)
//这样就可以将第一列读入x,第二列读入s
另一方法,是直读入一行,然后将它分隔到各列中,而分隔方法就多了,可以用sscanf,也可以用strtok,也可以自己写程序逐个字符处理
char是一个基本数据类型。他只能放一个任意的字符,不能多个。getChar是一个方法,他有一个Char类型的返回值。用在从数据库中查到的数据,将DataReader对象的转换成Char之后将其返回。因为从数据库度读取的都是由DataReader这个类去做的,所以获得的数据类型都是这个类型,但是实际是不需要这个类型的数据,所以就要转换数据类型,所以这个方法就是这个出现了。
MYSQL_ROW row 是mysql内部的类型,可能是一个结构体A,mysql先执行以下desc table的 *** 作,依照表结构创建字段,也可能只是得到一行数据有几列,分别是什么类型。row = mysql_fetch_row(result)会取一样的数据,mysql里面每成功调用一次这个函数mysql_fetch_row就会取一行,类似
vector<struct A>v_a
··········赋值v_a·········
全局定义 int x = 0
function: mysql_fetch_row
while (x <v_a.size())
row = v_a[x++]
mysql_fetch_lengths是得到一个row里面有多少数据,也就是table里的字段数
后面取的过程就很简单了,某个字段row[i] 为空的时候,不做row[i] ? row[i] : "NULL" 取到的会是个'\0',这个对于程序处理是比较危险的,为空的时候就附值一个标识是比较常用的做法。
fyi
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)