在所有的内容都写完后,运行时有几处地方出现了错误,由于自己在vs软件中不懂得如何进行调试,便上网查找了调试方式,用单步调试 的方法找到了对应出现错误的地方:
(1)在对客户端输入的密码与数据库中存放的密码进行比较时,前者的类型是string型,而后者则是char*型内容,两者类型不一样不能进行直接的比较。
(2)客户端从文件中读取内容时崩掉,排除了许多原因后,最终发现在文件操作的结构体里面出现问题,结构体中的变量我用了string型,string很大,sizeof根本不可能读出string变量的大小,所以系统便崩掉,后来将所有的string改成char型后就成功运行
(3)在往MySQL中存放数据时,崩掉,仔细查看了各变量的类型和大小以后确认没有问题,查了一些资料, 可能是某些运行时的错误 ,某些数据输入的不合理 或者数据太长越界等等 ,于是就将存放的数据类型扩大以后再次运行便成功了
(4)在对数据库操作时,用了不少不规范的语句,导致数据库无法正常打开进行各种操作,各种查找最后找到了正确的写法,理解后进行编写,最后成功运行
(5)和linux不同的是,c++在每个文件里加上相同的头文件后,若任意两个文件里有相同的内容或变量出现便会在编译时显示重定义,为此自己也是将原来的文件内容布局进行了较大的调整,用到全局变量的文件都放在一个里面,这样编译就通过
(6)时间函数:
int gettime(){ time_t rawtime ; struct tm*timeinfo ; time(&rawtime) ; timeinfo = localtime(&rawtime) ; PRintf("%s",asctime(timeinfo)) ; }char* mytime(){ time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); return asctime (timeinfo); }将时间函数调用到每个地方时需要周一时间的返回值类型
新闻热点
疑难解答
图片精选