標(biāo)題:
單片機(jī)C語(yǔ)言提取字符串函數(shù)的返回?cái)?shù)值方法求助
[打印本頁(yè)]
作者:
夢(mèng)園心田
時(shí)間:
2018-12-22 20:01
標(biāo)題:
單片機(jī)C語(yǔ)言提取字符串函數(shù)的返回?cái)?shù)值方法求助
我想實(shí)現(xiàn)一個(gè)函數(shù)傳入一個(gè)數(shù)組,在函數(shù)內(nèi)部進(jìn)行數(shù)據(jù)提取,把提取的數(shù)字進(jìn)行整合成一個(gè)整數(shù),并把結(jié)果返還給函數(shù).
但是我編寫的方法存在返回的結(jié)果多出02數(shù)字.
請(qǐng)求高手幫忙分析一下,或者分享一個(gè),非常感謝.
串口數(shù)據(jù).jpg
(12.64 KB, 下載次數(shù): 62)
下載附件
2018-12-22 19:51 上傳
//提取數(shù)字轉(zhuǎn)成整數(shù)
int StrGetNum(char *str) {
int i = 0, j = 0;
int n = 0;
while(str !='\0')
{
while(*str >= '0' && *str <= '9')
{
n *= 10;
n += *str - '0';
UART0_Send_String("加\r\n");
str ++;
}
str ++;
// if(str =='\0')return n ;
}
return n ;
}
//主函數(shù)
mian(){
sprintf(BuffSrc,"%d",StrGetNum("A1")); //把數(shù)字轉(zhuǎn)成字符串
UART0_Send_String(BuffSrc); //打印字符串到串口
UART0_Send_String("\r\n");
}
串口打印結(jié)果
加
加
加
102
作者:
yzwzfyz
時(shí)間:
2018-12-24 11:28
注意一下:
漢字,依編碼格式的不同,有2、3、4個(gè)字節(jié)構(gòu)成。至少是兩個(gè)字節(jié)。
所以你必須用相應(yīng)長(zhǎng)度的變量才能讀取它。
作者:
夢(mèng)園心田
時(shí)間:
2018-12-25 01:13
我現(xiàn)在處理的又不是漢字
作者:
夢(mèng)園心田
時(shí)間:
2018-12-25 01:15
而且我新定位一個(gè)數(shù)組然后判斷是不是數(shù)字是就存進(jìn)去,不是就不存,然后再處理成數(shù)字也不行
作者:
yzwzfyz
時(shí)間:
2018-12-25 12:29
明白了,你不是提取漢字編碼,而是要提出混在漢字中的數(shù)字,是碼?
“混在漢字中的數(shù)字”,也不是數(shù)字形式,它是ASCII碼,是以字符形式存在的。
例如:108
是由:31H 30H 38H 組成的。
作者:
夢(mèng)園心田
時(shí)間:
2019-2-11 00:50
是硬件問題,了買了5種藍(lán)牙,有一種非常正常
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1