2017-09-14 84 views
-3

我有一個char數組,它是以下形式:如何從一個字符數組得到「串」用C

[17字符,一個標籤炭,17個字符,一個標籤炭,17個字符,一個標籤char,代表長度爲1到4位數字的char,空字節]

我想存儲位於tab變量和空字節之間的字符在新變量中。

例1:這可能是我的字符數組:

[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6 ,如圖7所示,\噸,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,\噸,1,2,3,4- ,5,6,7,8,9,0,1,2,3,4,5,6,7,\ t,3,4,\ 0]

我想保存int 34在一個名爲x的變量中。

例2:這可能是我的字符數組:

[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6 ,如圖7所示,\噸,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,\噸,1,2,3,4- ,5,6,7,8,9,0,1,2,3,4,5,6,7,\ t,5,9,9,\ 0]

我想保存int 599在一個名爲x的變量中。

如果我知道該數字的位數,但我不確定如何解決具有若干未知長度的問題,我可以輕鬆地做到這一點。

任何幫助將不勝感激。

+0

查找'memcpy()'。 –

+0

謝謝,但是通過閱讀memcpy()的文檔,似乎 你不能選擇除0以外的起始索引(即只能得到字符串的前n個字符),而不是索引a之間的n個字符和索引b。 – Mathboy

+0

當然可以,通過指針算術。只需在指針值中加上'a'即可。 –

回答

0

比方說,您的字符串(又名char陣列)指向str,因爲你似乎需要一個int這個數字,那麼你可以使用atoi(str + 3 * (17 + 1))得到你想要的東西。

如果你想在另一個字符串中,那麼你可以使用strcpy(str2, str + 3 * (17 + 1))假設你的緩衝區指向str2

順便說一句,你需要包括stdlib.hatoi()string.hstrcpy()

相關問題