23,222
社区成员
发帖
与我相关
我的任务
分享弱弱问:sprintf构造sql语句,完全没必要char status[1+1], 怎么解释啊 ? 这得看具体的应用场景了,加个'\0'估计为了后面更方便的构造sql语句,比如strcat,strcpy等;要是用sprintf构造sql语句,完全没必要char status[1+1];如果是为了内存对齐,这样写也不是很好;
对于数组(数据库可能不叫数据,叫varchar什么的),如果最大他要N,则数据库中指定为N长,程序中指针为N+1长,即包涵一个\0,这样有很多好处,如果不加\0,很多对于字符串操作的crt函数不能使用,比如strlen等。
这得看具体的应用场景了,加个'\0'估计为了后面更方便的构造sql语句,比如strcat,strcpy等;要是用sprintf构造sql语句,完全没必要char status[1+1];如果是为了内存对齐,这样写也不是很好;