看板 C_and_CPP 關於我們 聯絡資訊
Hi all, 小弟又來請教了 假設有一個 char array[100] ="01234567...abcdef..." 然後我想把他拆成10等份 像id1[10] id2[10]... 再隨機打亂後 組回去 可能像是 id7 + id3 +...+ id1+ id2 = (new_array[100]) 最後再串連回去 成為 char new_array[100] 請問 array可以方便拆解嗎 目前像想到strcat可以串連 但是拆解沒有頭緒說 3Q~ ----------------- 目的是想把 char array ,分成某單位 再作交換連接 初想可能方法: 1.想用strcpy 把array[] copy到 temp1 temp2 等等... 但strcpy無法方便從中間copy.. (X) 2.學lino大作一個 swap( str,position_head,position_tail) , 可以任意切換 array中 頭尾 , 再慢慢作轉換 詳細的要再想想 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.48.108 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1433840748.A.341.html
Feis: 你隨機交換字元就可以了. 06/09 17:34
MOONRAKER: 聽過strcat()沒聽過substr() 這實在太神秘了 06/09 17:41
Qoofate: 小弟要有最小單位交換區塊 這裡的例子是10 06/09 17:47
Feis: 你就一次換十個 06/09 17:58
anyoiuo: 先取每等分的頭的index(0, 10, ...90),接著亂數排列 06/09 19:24
soso7885: sscanf試試 06/09 19:24
anyoiuo: 然後strncpy貼貼貼貼,最後補上'\0' 06/09 19:25
anyoiuo: 方法很多的XD 06/09 19:26
linotwo: http://ideone.com/CndR6c 06/09 20:12
linotwo: 一次換10個 06/09 20:14
Qoofate: lino大 用C++ template方法 太高階了 @@ 還要時間消化 06/09 21:11
Qoofate: 想問純C 有何方式可以 分解array 06/09 21:14
Feis: 原 po 覺得要怎樣才算有分解? Array 本來就是分解的 (? 06/09 21:15
※ 編輯: Qoofate (180.176.217.197), 06/09/2015 21:29:10
Feis: "strcpy無法方便從中間copy.." ? 好吧, 前面有說過 strncpy 06/09 21:31
MOONRAKER: 非常深奧 看不懂 06/09 21:33
arthur104: memcpy,小心用 06/09 21:39
Feis: 我認輸了... https://goo.gl/x1tx70 06/09 21:51
Killercat: 其實這題應該是考你memcpy....吧 我想 06/09 21:56
Feis: 用 C++ 的話, random_shuffle 加轉型硬幹應該很短 06/09 21:59
Feis: 亂寫一通: https://goo.gl/67Z9So 06/09 22:03
Qoofate: Feis大高手 @@ 有c code正解 06/09 22:32
MOONRAKER: 完全看不出來有什麼困難。 06/09 22:53
Feis: 我突然意識到了是不是最近要期末了 QQ 06/09 23:28
Qoofate: F大放心啦 這不是作業 XD 06/09 23:36