[問題] 拆解char array[] 再組合

看板C_and_CPP (C/C++)作者 (大魯閣_最強打者)時間10年前 (2015/06/09 17:05), 10年前編輯推噓3(3021)
留言24則, 8人參與, 最新討論串1/1
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

06/09 17:34, , 1F
你隨機交換字元就可以了.
06/09 17:34, 1F

06/09 17:41, , 2F
聽過strcat()沒聽過substr() 這實在太神秘了
06/09 17:41, 2F

06/09 17:47, , 3F
小弟要有最小單位交換區塊 這裡的例子是10
06/09 17:47, 3F

06/09 17:58, , 4F
你就一次換十個
06/09 17:58, 4F

06/09 19:24, , 5F
先取每等分的頭的index(0, 10, ...90),接著亂數排列
06/09 19:24, 5F

06/09 19:24, , 6F
sscanf試試
06/09 19:24, 6F

06/09 19:25, , 7F
然後strncpy貼貼貼貼,最後補上'\0'
06/09 19:25, 7F

06/09 19:26, , 8F
方法很多的XD
06/09 19:26, 8F

06/09 20:12, , 9F

06/09 20:14, , 10F
一次換10個
06/09 20:14, 10F

06/09 21:11, , 11F
lino大 用C++ template方法 太高階了 @@ 還要時間消化
06/09 21:11, 11F

06/09 21:14, , 12F
想問純C 有何方式可以 分解array
06/09 21:14, 12F

06/09 21:15, , 13F
原 po 覺得要怎樣才算有分解? Array 本來就是分解的 (?
06/09 21:15, 13F
※ 編輯: Qoofate (180.176.217.197), 06/09/2015 21:29:10

06/09 21:31, , 14F
"strcpy無法方便從中間copy.." ? 好吧, 前面有說過 strncpy
06/09 21:31, 14F

06/09 21:33, , 15F
非常深奧 看不懂
06/09 21:33, 15F

06/09 21:39, , 16F
memcpy,小心用
06/09 21:39, 16F

06/09 21:51, , 17F
我認輸了... https://goo.gl/x1tx70
06/09 21:51, 17F

06/09 21:56, , 18F
其實這題應該是考你memcpy....吧 我想
06/09 21:56, 18F

06/09 21:59, , 19F
用 C++ 的話, random_shuffle 加轉型硬幹應該很短
06/09 21:59, 19F

06/09 22:03, , 20F
亂寫一通: https://goo.gl/67Z9So
06/09 22:03, 20F

06/09 22:32, , 21F
Feis大高手 @@ 有c code正解
06/09 22:32, 21F

06/09 22:53, , 22F
完全看不出來有什麼困難。
06/09 22:53, 22F

06/09 23:28, , 23F
我突然意識到了是不是最近要期末了 QQ
06/09 23:28, 23F

06/09 23:36, , 24F
F大放心啦 這不是作業 XD
06/09 23:36, 24F
文章代碼(AID): #1LTgniD1 (C_and_CPP)
文章代碼(AID): #1LTgniD1 (C_and_CPP)