社区
单片机/工控
帖子详情
字符串连接的问题
oosmile
2011-10-30 10:20:55
INT8U str6[] = "hello=,";
INT8U user_name[] = "user";
INT8U password[] = "123456";
strcat(str6,"\"");
strcat(str6,user_name);
strcat(str6,"\",\"");
strcat(str6,password);
strcat(str6,"\"\r\n");
为什么输出结果为 hello=,"","123456"
user_name呢?
...全文
123
4
打赏
收藏
字符串连接的问题
INT8U str6[] = "hello=,"; INT8U user_name[] = "user"; INT8U password[] = "123456"; strcat(str6,"\""); strcat(str6,user_name); strcat(str6,"\",\""); strcat(str6,password); strcat(str6,"\"\r\n"); 为什么输出结果为 hello=,"","123456" user_name呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjtea
2011-10-30
打赏
举报
回复
初始化 str6[] = "hello=,"; 时,将str6[]定义短了;
改大点维数,例如改成str6[23] = "hello=,"; 就行。
TomiTwo
2011-10-30
打赏
举报
回复
INT8U user_name[] ="user";
INT8U password[] = "123456";
INT8U str6[20] = "hello=,";
strcat(str6,"\"");
strcat(str6,user_name);
strcat(str6,"\",\"");
strcat(str6,password);
strcat(str6,"\"\r\n");
你试试上面的代码
你定义的字符串数组全没有给大小,系统在定义时就给定义在一起了,等你向str6中粘贴的时候,user刚好充掉了。
meegowei1
2011-10-30
打赏
举报
回复
你这样写,输入 hello=,"","123456" 是正确的
因为 keil C 编译时,对内存空间的分配是连续的,即上一个变量跟着就是下一个变量的地址
因为 INT8U str6[] 实际上占用 7 个字节的内存空间,而 第 8 个字节是 \0
INT8U user_name[] 实际上的内存是跟在 str6[7] 后面,即 如果 str6+8 的地址 即 user_name[0] 的地址
而 strcat 是计算 str6 的地址后,再加在后面,所以导致你说的问题,下面举些例说明,你自己可以打印出来试试
所以:
strcat(str6,"\""); //执行到这里时 str6[8]="\""
strcat(str6,user_name); //执行到这里时 str6[8]='"',str[9]='s' ....
这里要说明一下, str6[8] 实际上是 user_name[0] ,所以已经被上一个语句冲掉了
bjtea
2011-10-30
打赏
举报
回复
本身有22个字符,加结束符,所以,最少需要23
ADO助手V1.20---一个获取ADO
连接
字符串
,测试SQL命令的辅助软件
ADO助手---一个获取ADO
连接
字符串
,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 ADO助手---一个获取ADO
连接
字符串
,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 2011-11-09 -修复有时候用DataGrid显示报错“The rowset is not bookmarkable.” +增加根据SQL生产MFC数据库类的功能 +增加导入和导出记录集的功能 +增加对多记录集的支持功能 +增加常用的ADO
连接
字符串
的下拉选择 2012-09-19 +增加C#数据库代码生成
107个常用Javascript语句
107个常用Javascript语句
matlab
字符串
拼接变量,MATLAB
字符串
连接
问题
--个人笔记(转)
由于很多高频数据的日期和时间都是单独存放的
字符串
,即把日期放在一列,把时间放在一列,这时为了需要,需把日期和时间合并成一列,然后用matlab转化成数字型日期,具体作法有两种:第一种:利用
字符串
连接
法第二种:利用数字型日期相加法例子:现在有如下的字符型日期,需要转化为时间序列数字型向量'04/22/2013' '9:00:00''04/22/2013' '9:01:00''04/22/2013' ...
python中如何
连接
两个
字符串
_python
字符串
连接
的N种方式总结
python中有很多
字符串
连接
方式,今天在写代码,顺便总结一下:最原始的
字符串
连接
方式:str1 + str2python 新
字符串
连接
语法:str1, str2奇怪的
字符串
方式:str1 str2%
连接
字符串
:‘name:%s; sex: ' % ('tom', 'male')
字符串
列表
连接
:str.join(some_list)第一种,想必只要是有编程经验的人,估计都知道,直接用 “+” 来...
matlab中
字符串
连接
的方法
matlab中
字符串
连接
的几种方法matlab中
字符串
连接
的方法N个
字符串
串联
连接
在一起并输出 matlab中
字符串
连接
的方法 N个
字符串
串联
连接
在一起并输出 ***第一种方法 [ ]
字符串
数组*** ```matlab str1='test_img'; str2='.png'; %test_img.png 是当前目录下的测试图片 file_name=[str1,str2]; im=imread(file_name); imshow(im); %output : file_name='test_i
单片机/工控
27,516
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章