[爆卦]arduino陣列清空是什麼?優點缺點精華區懶人包

為什麼這篇arduino陣列清空鄉民發文收入到精華區:因為在arduino陣列清空這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者brilliantye (不來&石見)看板C_and_CPP標題[問題] 清空字元陣列時...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux

額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
NO

問題(Question):
請問如何清空已存的字元陣列?
char num[5];

餵入的資料(Input):

過程中會 num[0]=1;
num[1]=2;
num[2]=1;

但是下一次希望可以只存'3'在字元陣列裡
目前只想到用一個
for(i=0;i<3;i++){
num[i]='\0';
}
來達成目的

想要請問有沒有其他辦法,可以清空已存部分資料的字元陣列

謝謝

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.94.47
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1399473463.A.648.html
AIGecko:memset 05/07 23:01
pcyu16:已解答 XD 05/07 23:08
diabloevagto:1F 正解 05/07 23:12
s25g5d4:記得 #include <string.h> 05/08 09:21
brilliantye:謝謝大家!!!! 05/08 13:31
Killercat:我有個小問題,為什麼要清空?普通的做法是放一個marker 05/08 13:35
Killercat:來標示「這個地方往後到陣列終點皆為零」,跟C-Style 05/08 13:36
Killercat:string是完全一樣的道理(marker用\0即可) 05/08 13:36
Killercat:memset在某些情況下是一個非常昂貴的操作(尤其是mmap下 05/08 13:37
Killercat:你無法得知fd的消除成本),我會建議盡可能不要用這種粗 05/08 13:38
Killercat:暴的方式來操作會比較好一點。 05/08 13:38
Killercat:當然普通記憶體來講,memset是很便宜的。 05/08 13:38
Killercat:不過如果要達到你說的效果的話 memset是對的 只是正常 05/08 13:45
Killercat:設計來講,需要這種raw erase的機會真的不算太多 05/08 13:46
pcyu16:其實感覺問題的描述中到底是存數字還是字元不太清楚 05/08 21:11
pcyu16:變數命名跟資料型態或許也還有可以討論的地方 05/08 21:11
pcyu16:不過這些都是內文沒問的地方 有人願意提出來或許是好事 (?) 05/08 21:12

其實我在練習的時候遇到的問題,
輸入一個計算式由左而右運算 EX:14-12/2+1*100=200
唯一要求就是用用字元陣列去存輸入的計算式
※ 編輯: brilliantye (125.227.255.80), 05/09/2014 17:46:58
Killercat:那直接用c-style string直接用\0當marker就好 不用清空 05/09 20:12
Killercat:不過只是練習的話 那怎麼做都沒差就是 =P 05/09 20:12
brilliantye:樓上的大大不好意思,不是很明白您的說法,可以再解釋一 05/09 23:41
brilliantye:一點嗎? 謝謝你 我是新手,目前c比較熟c++不太行 05/09 23:41
bibo9901:意思是通常不用把每一格都「清空成\0」, 直接寫入字串再 05/10 00:23
bibo9901:補\0就好了. 05/10 00:24
bibo9901:要表達空字串, 在第一格寫入\0即可. 05/10 00:25
Killercat:對,在大多數的情況下這種情況稱為memzero(來自於win32 05/11 14:52
Killercat:的同名巨集),在user space通常會被視為不是很推薦的 05/11 14:52
Killercat:寫法。雖然知道你只是練習,不過還是提醒一下 05/11 14:53

你可能也想看看

搜尋相關網站