关于sprintf整合%d出错的问题
2017-03-20 16:07
169 查看
有些编译器用到sprintf函数整合%d类型的数据时候可能会出错例如
错误的示例char *p[80]=0; memset(p,0,sizeof(p)); sprintf((char *)p,"AT+CIPSTART=\"TCP\",\"%d.%d.%d.%d\",%d\r\n",210,209,82,119,8080); PrintString1(p);
输出的值为 : AT+CIPSTART=”TCP”,”-11567.21111.8080.0”,53
这是因为某些编译器不知道需要整合的数是什么类型导致的 所以需要加上强制转换类型才可以输出我们需要的答案
正确的方法
char *p[80]=0; memset(p,0,sizeof(p)); sprintf((char *)p,"AT+CIPSTART=\"TCP\",\"%d.%d.%d.%d\",%d\r\n",(int)210,(int)209,(int)82,(int)119,(int)8080); PrintString1(p);
此时输出的是 :AT+CIPSTART=”TCP”,”210.209.82.119”,8080
相关文章推荐
- 关于DataGrid最后一页只有一行记录时,删除此记录出错的问题
- 关于DataGrid最后一页只有一行记录时,删除此记录出错的问题
- 关于Enterprise Architect生成SQL 2005的DDL出错的问题
- 关于.net framework 3.5安装出错的问题--解决方法!
- 关于Ubuntu中编译Qt4出错的问题QApplication not found or not such a file
- 关于安装查看内存泄露工具BoundsChecker 时出错的问题 ERROR432
- 关于.text中AdvancedPanel中展开按钮在页面执行时有时会出错的问题
- 关于JSTL下使用xpath出错的问题
- 关于Axis2 的code generator插件在Eclipse出错的问题
- 关于sql server 2005登录出错问题
- 关于DTS运行正常但JOB下运行出错相关问题的原因
- 关于Enterprise Architect生成SQL 2005的DDL出错的问题
- 关于UpdatePanel控件在虚拟主机出错问题
- 关于DataGrid最后一页只有一行记录时,删除此记录出错的问题
- 关于Struts、Spring和Hibernate整合的问题
- 关于Excel数组赋值出错的问题, 800A03EC 错误
- 在spring中关于CP30数据库连接池使用oracle数据库是存储blog对象出错的问题
- 关于使用MySQL的ODBC驱动建立数据源出错的问题
- 关于提示DB2 "打开套接字时出错" 的问题的解决
- 关于在DLL中调用TXMLDocument时出错的问题!