社区
C语言
帖子详情
strcpy();乱码!乱码!乱码!求助
ARROW2010
2010-12-09 01:24:31
#include <REG51.h>
unsigned char idata buf[64];
...
...
...
strcpy( buf, "今天的数据到此结束\0xd\0xa" );
sendstringtoPC(buf); // send string to PC
语句执行后
通过串口助手在电脑显示的结果是“今天的ADC示莸酱私崾”为什么会是乱码呢?
我是C语言新手,希望知道的侠人指点一下,问题出在哪?谢谢
...全文
823
21
打赏
收藏
strcpy();乱码!乱码!乱码!求助
#include unsigned char idatabuf[64]; ... ... ... strcpy( buf, "今天的数据到此结束\0xd\0xa" ); sendstringtoPC(buf);// send string to PC 语句执行后 通过串口助手在电脑显示的结果是“今天的ADC示莸酱私崾”为什么会是乱码呢? 我是C语言新手,希望知道的侠人指点一下,问题出在哪?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ARROW2010
2010-12-10
打赏
举报
回复
用WINHEX看了看收到的数据,显示的东东确实如14楼所言,强烈学习了!
小的初入江湖,想不到有如此多的C界大哥支力,实出小的意料,甚谢!
赶明早我闻鸡起舞继续调试调试,看看能否解决问题,不行再努力!
cranium
2010-12-09
打赏
举报
回复
串口...路过留名做标记
就想叫yoko
2010-12-09
打赏
举报
回复
学习了[Quote=引用 16 楼 xuangong9794 的回复:]
汉字的显示通常要使用 unicode 编码方式,通常是两个字节表示一个汉字,所以你的问题不是字符串结束的问题,你用unsigned short类型定义你的数组
[/Quote]
heminrui
2010-12-09
打赏
举报
回复
路过,学习了
xuangong9794
2010-12-09
打赏
举报
回复
汉字的显示通常要使用 unicode 编码方式,通常是两个字节表示一个汉字,所以你的问题不是字符串结束的问题,你用unsigned short类型定义你的数组
screwzm
2010-12-09
打赏
举报
回复
[Quote=引用 1 楼 q191201771 的回复:]
"今天的数据到此结束\0xd\0xa"改成"今天的数据到此结束\0xd\0xa\0"
[/Quote]
哥,这个会自动的加'\0'好不?
用户 昵称
2010-12-09
打赏
举报
回复
//
ansi_string
(
"今天的数据到此结束"
)
//--
ansi_string convert utf16-little-endian format input data to ansi format
//--
input =
CA 4E 29 59 84 76 70 65 6E 63 30 52 64 6B D3 7E 5F 67
//--
output =
BD F1 CC EC B5 C4 CA FD BE DD B5 BD B4 CB BD E1 CA F8
//
// 今天的数据到此结束
0xBD, 0xF1, 0xCC, 0xEC, 0xB5, 0xC4, 0xCA,
0xFD
, 0xBE, 0xDD, 0xB5, 0xBD, 0xB4, 0xCB, 0xBD, 0xE1, 0xCA, 0xF8,
http://www.baidu.com/s?bs=keil+%D6%D0%CE%C4+%C2%D2%C2%EB+%B2%B9%B6%A1&f=8&wd=keil+0xfd
用户 昵称
2010-12-09
打赏
举报
回复
没什么事情,就是keil的问题,你用的
版本太低
。
ARROW2010
2010-12-09
打赏
举报
回复
我用的是KEIL编译的 是不是需要改Configraion里的String的font
请问5楼大侠,用什么字符集才可能显示正确?谢了!
ARROW2010
2010-12-09
打赏
举报
回复
谢谢,楼上各位指点,我试了一下,只要把汉字改成英文显示就是正确的了,可能是汉字字符编码的问题?不知道有什么办法可以解决,希望侠人继续指点,
我的职业是看店铺的
2010-12-09
打赏
举报
回复
2楼正解,缺少字串结束字符。
赵4老师
2010-12-09
打赏
举报
回复
漏码。
由同步错误引起。
注意设置正确的串口参数:波特率、是否奇偶校验、停止位……
张无印
2010-12-09
打赏
举报
回复
2楼正解,缺少字串结束字符。
walkersfaint
2010-12-09
打赏
举报
回复
应该是字符编码,根据你的编译环境看看你的串口的比特率是多少?
3h随然吧
2010-12-09
打赏
举报
回复
你编译环境是什么字符集的
thegreatone
2010-12-09
打赏
举报
回复
把buf改成char型试试
wyfwx
2010-12-09
打赏
举报
回复
字符编码问题
wasx1
2010-12-09
打赏
举报
回复
字符串要用结束标识符‘\0’
就想叫yoko
2010-12-09
打赏
举报
回复
"今天的数据到此结束\0xd\0xa"改成"今天的数据到此结束\0xd\0xa\0"
strcat
strcpy
深入研究(解决
乱码
等问题)
本文深入探讨了C语言中strcat和
strcpy
函数的使用,特别是如何避免在操作字符串时出现
乱码
的问题。通过实例分析,解释了可能导致
乱码
的原因,并提供了有效的预防和解决策略。
strcpy
,strncpy的使用注意
本文详细解析了C++中字符串复制函数
strcpy
和strncpy的使用方法及注意事项,包括参数解释、常见错误示例以及如何避免栈溢出和
乱码
问题。
snprintf、
strcpy
、strncpy的用法
博客主要讨论了C语言中字符串拷贝函数的安全问题。
strcpy
不安全,strncpy虽有长度控制但也存在隐患,如在不同长度情况下补0问题及可能出现
乱码
。给出了几种解决办法,还指出最好使用snprintf,不过它也有当buffer为指针时的局限性。
strcpy
会覆盖原来的吗_
strcpy
为何不安全
本文介绍了C语言中
strcpy
函数的不安全性,通过一个简单的示例程序展示了如何引发缓冲区溢出漏洞。文章详细阐述了攻击的思路,包括函数调用约定、堆栈变化、填充数据计算、寻找jmp esp地址以及编写shellcode。最后,通过实际攻击代码和效果,解释了如何利用这个漏洞获取shell权限。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章