全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:7300
推到 Plurk!
推到 Facebook!

8051 C 如何作字串相加?

答題得分者是:fnk
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-23 10:30:35 IP:61.218.xxx.xxx 未訂閱
請教各位前輩有關 8051 C 的問題: 1.8051 C 如何作字串相加??如下程式嗎 2.8051 C 如何把數字轉成字串?? char code *a ; char code *b ; char code *pp ; a="123"; b="abc"; pp= a b; <<<<錯誤.... for(; *pp !=0 ;){ Data(*pp ); } 謝謝各位前輩.......... ??如下程式嗎 2.8051 C 如何把數字轉成字串?? char code *a ; char code *b ; char code *pp ; a="123"; b="abc"; pp= a b; <<<<錯誤.... for(; *pp !=0 ;){ Data(*pp ); } 謝謝各位前輩..........
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-24 23:07:46 IP:140.124.xxx.xxx 未訂閱
若我沒誤會您的意思, 您應該指的是 將a="123" 與 b="abc" 二個字串相"連"起來... 若是這樣的話... 您可以嘗試使用 sprintf... 1. 字串相"連"的部分 char temp[10]; sprintf(temp,"%s%s",a,b); 則...temp = "123abc".... 2. 數字轉字串的部分 char temp[10]; sprintf(temp,"%d",2004); 則...temp = "2004".... Good Luck !! 發表人 - fnk 於 2004/05/24 23:11:31
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-25 16:54:11 IP:61.218.xxx.xxx 未訂閱
可是我用的 8051 C 沒有sprintf 這個Function?一知為何?? ***WARNING 206 IN LINE 93 OF TLCD06.C: 'sprintf': missing function-prototype 謝謝.....
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-25 17:52:07 IP:140.124.xxx.xxx 未訂閱
請問你有加入 Include嗎 #include "stdio.h"
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-26 09:24:52 IP:61.218.xxx.xxx 未訂閱
引言: 請問你有加入 Include嗎 #include "stdio.h"
原來如此 那再請教 8051 C ,也可以用一般C語言的Function嗎?? 謝謝前輩.........
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-26 09:47:13 IP:140.124.xxx.xxx 未訂閱
引言: 原來如此 那再請教 8051 C ,也可以用一般C語言的Function嗎?? 謝謝前輩.........
基本上, 大部分"常用的"C語言的Function, 8051的c應該都有包括 !! 其實也不是什麼前輩, 只是碰巧會而已, 大家互相討論嘛 !!
metal
一般會員


發表:1
回覆:5
積分:1
註冊:2002-12-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-11-18 15:39:37 IP:210.66.xxx.xxx 未訂閱
2. 把數字轉成字串 用sprintf的話 code size 會有點大... 所以可以試試用自己寫的function... ex: WORD X = 1234; itoa(X, str[], 4); // then str[] = {"1234"}; ////////////////////////////////////////////// typedef unsigned int WORD; typedef unsigned char BYTE; void itoa(WORD X, BYTE str[], BYTE Digit) { while(--Digit){ str[Digit] = '0' (X); X/=10; } }
gouki1979
一般會員


發表:1
回覆:1
積分:0
註冊:2003-01-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-11-20 10:50:37 IP:219.133.xxx.xxx 未訂閱
上面程式需修改如下,否則可能會有問題產生: #include  typedef unsigned int WORD; typedef unsigned char BYTE; char str[10]; void itoa(WORD X, BYTE str[], WORD Digit) { str[Digit] = '\0'; while(Digit--) { str[Digit] = '0' (X); X/=10; } } main() { WORD x = 1234; printf("x->Int->%d\n",x) itoa(x, str, 4); printf("x->String->%s\n",str); //;str[] = {"1234"}; }
系統時間:2024-04-20 11:40:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!