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
一般来说,我们不会直接使用ASCII码来处理,因为这样不够直观。比如你说的判定输入是否是字母,是否是数字,那么有个比较直观的方法来处理。如果你看过ASCII码表,那么你就知道字数和字母在ASCII码表中都是连续的,所以这个就比较好解决了。判定字符ch是否是数字:
if(ch>='0' &&ch<='9')
判定字符ch是否是字母:
if(ch>='a' &&ch<='z' || ch>='A' &&ch<='Z')
当然,有已经定义好的库函数用来判定是否数字和字母,不要加加载头文件<ctype.h>
判定字符ch是否是数字:
if(isalnum(ch))
判定字符ch是否是字母:
if(isalpha(ch))
这两个函数都是判定成立,结果是true也就是1,判定不成立,结果是false,也就是0.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)