開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
目前是想做使用者隨便輸入資料如 123,456,789 並且輸入分格符號","
我的程式則會分別將 123放到str[0] 456放到str[1] 789放到str[2]
主是要用來做字串分割的,可是目前問題是我不知到使用者會輸入多少資料
可能如 1qaz.2wsx.3edc.4rfv 或是 978,4098,4087,04890,8409,049,5640
所以我不知道該如何去設定動態陣列的大小
我目前的想法是 先去算使用者輸入的字串數,算完後再去設定動態陣列大小
再把分割完後的字串一一的丟到陣列裡,可是這樣會造成我做了兩次運算
可能是我寫的不太好,所以請各位大大幫我看一下我的程式碼的問題
我之前是有使用vector這樣就不用計算輸入的字串多寡,可以直接將分隔完的字串
直接塞到陣列中,但是因為我們老師的需求,之後可能會用C#或是其他程式語言
而C#沒有Vector所以希望我能使用普通的陣列來做,這樣改用其他程式語言,就不太需要
改動太多程式碼。
請板友給我一些意見,謝謝各位。
程式碼(Code):(請善用置底文網頁, 記得排版)
計算輸入字串數
http://ideone.com/a13zD7
分割字串並分別存入動態陣列中
http://ideone.com/Moh4Tv
作者:
EdisonX (卡卡獸)
2016-09-04 15:04:00看 code , 是用 MFC ATL CString, 若是這樣的話,讀進來整個字串先放到一個 buffer , 再用 CString::Tokenize 取得有多少欄位,再用動態配置。至於你說的普通陣列達到這需求,漂亮的方法沒有。