久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1738|回復: 10
收起左側

關于單片機C語言strcat函數復制字符串的問題

[復制鏈接]
ID:832450 發表于 2021-12-14 20:20 | 顯示全部樓層 |閱讀模式
編程大佬們,遇到一個困惑的問題,望解答

用strcat函數復制VBAT電壓的ASCII值

用strcat函數復制VBAT電壓的ASCII值
用strcat函數復制電壓的ASCII,可是一直復制失敗,是空的。
E)P1BTUK`L)SW)(4@XDPRW0.png
[]6(I6JFO%S)EK1VR@V%W2H.png
QB0VT2S}@[@@R)K@I$@B%OR.png
回復

使用道具 舉報

ID:401564 發表于 2021-12-14 21:30 | 顯示全部樓層
要把準備復制的數組先轉換成ASCII再進行復制
如果數組中有0x00的話,函數就會結束了,因為字符串是以'\0'結束的
其它函數也會用到這個值的,所以,一般都是先轉換成ASCII再處理
如果不是這個原理話,那我就不知道了
一般數組之間傳遞,我都是用結構
當你定義了結構a和結構b之后,就可以像變量一樣的:a=b
回復

使用道具 舉報

ID:832450 發表于 2021-12-14 21:54 來自觸屏版 | 顯示全部樓層
Y_G_G 發表于 2021-12-14 21:30
要把準備復制的數組先轉換成ASCII再進行復制
如果數組中有0x00的話,函數就會結束了,因為字符串是以'\0'結 ...

這個我是知道的,我復制了好多組ASCII值,就單單這個電壓不行,哭了,但是電壓已經成功轉為ASCII了,太難了
回復

使用道具 舉報

ID:883242 發表于 2021-12-14 22:00 | 顯示全部樓層
你這個ONENET_DATA_ASC函數里面一口氣定義了112 bytes變量,51應該最多120 byte全局變量+局部變量,鏈接能通過?
回復

使用道具 舉報

ID:832450 發表于 2021-12-15 07:44 | 顯示全部樓層
Hephaestus 發表于 2021-12-14 22:00
你這個ONENET_DATA_ASC函數里面一口氣定義了112 bytes變量,51應該最多120 byte全局變量+局部變量,鏈接能 ...

我用的STC8F單片機呢,搞不懂,就這一組ASCII沒了,其他組都好好的,難搞
回復

使用道具 舉報

ID:401564 發表于 2021-12-15 13:50 | 顯示全部樓層
18936674086 發表于 2021-12-15 07:44
我用的STC8F單片機呢,搞不懂,就這一組ASCII沒了,其他組都好好的,難搞

要不是樓上說到,我都沒有看到,一組電壓數據怎么會用到長度100的數組呢?在我看來,這是一個很恐怖的長度
如果要這么長的數組,先在數組前加限定為xdata,不然的話,用的還是8051原本的RAM
STC8F多出來的SRAM是在xdata區的
如果還是不行,那就按我說的,用結構吧
回復

使用道具 舉報

ID:832450 發表于 2021-12-15 16:10 | 顯示全部樓層
Y_G_G 發表于 2021-12-15 13:50
要不是樓上說到,我都沒有看到,一組電壓數據怎么會用到長度100的數組呢?在我看來,這是一個很恐怖的長度
...

非常感謝回答,我也不是很清楚究竟原因,我現在在這個數組又添加了20位數據,依然沒有問題,可就是獨獨缺失了4位數據,奇了怪了,我再研究研究
回復

使用道具 舉報

ID:750420 發表于 2021-12-15 16:58 | 顯示全部樓層
18936674086 發表于 2021-12-15 16:10
非常感謝回答,我也不是很清楚究竟原因,我現在在這個數組又添加了20位數據,依然沒有問題,可就是 ...

直接將strcat(temp_buf,"3283")實驗一下
回復

使用道具 舉報

ID:415064 發表于 2021-12-15 17:51 | 顯示全部樓層
        sprintf_s(tmp_buf, "%s","02");
        strcat_s(tmp_buf, "03");
        strcat_s(tmp_buf, "3283");
        strcat_s(tmp_buf, "12345678"); 這個是沒有問題的,問題在你的那個電壓轉換哪里
回復

使用道具 舉報

ID:415064 發表于 2021-12-15 18:01 | 顯示全部樓層
也有可能是你的整型中出現ascii的00,這個在字符串中代表\0
回復

使用道具 舉報

ID:832450 發表于 2021-12-16 08:01 | 顯示全部樓層
wojiaoguogai 發表于 2021-12-15 17:51
sprintf_s(tmp_buf, "%s","02");
        strcat_s(tmp_buf, "03");
        strcat_s(tmp_buf, "3283");

好,謝謝解答,我去試試
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: jlzzjlzz欧美大全 | 综合久久久久久久 | 欧美日韩在线综合 | 欧美在线视频二区 | 欧美国产视频 | 国产精品免费观看视频 | 在线免费观看a级片 | 激情91| 国产ts人妖系列高潮 | 亚洲成人久久久 | 中文字幕视频一区 | 香蕉久久久 | 成人国产精品一级毛片视频毛片 | 一级高清视频 | 日韩有码一区 | 亚洲五码久久 | caoporn国产精品免费公开 | 亚洲男女视频在线观看 | 四虎影院在线观看免费视频 | 国产精品中文字幕在线 | av中文在线| 日韩高清一区二区 | 91久久久久久 | 亚洲欧美少妇 | 国产精品久久精品 | www.99热这里只有精品 | 亚洲欧美日本国产 | 日本a视频 | 国产日韩欧美激情 | 国产精品激情在线 | 做a的各种视频 | 亚洲精品久久久久久久久久吃药 | 国产高清视频在线观看 | 99re在线视频 | 精品久久久久久久久久久久久久久久久 | av网站在线看 | 日韩成人在线观看 | 日日夜夜精品视频 | 另类专区成人 | 天天射影院 | 97精品国产一区二区三区 |