2014-12-02 59 views
-2

我正在輸入二維數組。 ie--如何將2D數組的字符串轉換爲每個char數組?

forward 50 back 20 

我想簡單的字符數組[],「50」,在字符數組[]

(每個字符[]數組中的每個字符串)複製「正向」我只能將第一個元素存儲在第一個數組中。

我試過存儲「空間」索引,然後存儲整數值,直到「另一個空間」\ n「在2d數組中找到,但它只存儲了第一個字符串(向前)上... 循環這裏是我被檢查的代碼。

for (int j=0; arr[1][j] != ' '; j++) 
{ 
    check[m] = arr[1][j]; 
    m++; 
} 

check[m] = '\0'; 
int k = 0; 
cout << check << endl; 

if (arr[1][m] == ' ') 
{ 
    for (;arr[1][m] == ' ';) 
    { 
     m++; 

     cout << arr[1][m]; 
     value[k] = arr[1][m]; 
     k++; 
    } 
} 
value[k] = '\0'; 
+1

你能證明你已經嘗試過的東西,我的意思是你的代碼 – deeiip 2014-12-02 03:36:47

+0

你有沒有考慮過'的std :: VECTOR'呢? – 2014-12-02 03:38:16

+0

沒有。我們還沒有學習過我們的課程。所以我們不允許包含矢量。 – 2014-12-02 04:06:01

回答

1

從您的意見卻彷彿這實際上應該是一個C的問題,而不是一個C++的問題。

但由於這是無論如何,家庭作業可能會看到一個C++ 11解決方案將讓你朝着正確的方向前進。

const char* arr[]{"forward ", "50 ", "back ", "20"}; 
const string check = accumulate(cbegin(arr), cend(arr), string()); 

此後check將包含「forward 50 back 20」。

Live Example

相關問題