2014-01-29 75 views
-1

我有一個隨機長度的字符串(不一定可以被8整除)。將字符串拆分爲更小的字符串。假定字符串的隨機長度。

我現在想每8個字符轉換成一個字符串。我對這個字符串的結尾毫無頭緒。我不知道如何處理最後的零和那些。

這應該是完全可逆的。

我在Visual Studio和C++中編程。

你有什麼建議嗎?我希望我明確表達自己。提前致謝!

+0

那麼,你想要一個數組,這個字符串的連續8個字符的子字符串? – 2014-01-29 21:18:18

+0

您可以開始按8進行分組(8位= 1個字節,一個ASCII字符或utf-8編碼的一個),然後查看剩下的內容。也許在MSB中填充剩餘零(最高有效位)。我不知道你在處理什麼.. –

+0

chars是一種原始數據類型,你要求的東西看起來像一個字符串。除非你真的想要單個字符,或者你正在尋找一個字符數組,然後我會問爲什麼,因爲這是一個字符串。 – Mike

回答

0

查找長度,除以8,並將最後一個輸入到餘數的大小數組中。例如,如果你有一個長度爲60的數組,那麼當你除以7時,將它們輸入到8的數組中,並創建一個在這種情況下爲4的餘數。

0
string whole = "01001010101010101000011110101001000101000010000"; 
string pieces[whole.length()/8]; 

for(int i = 0; i< whole.length()/8; i++) 
    pieces[i] = like.substr(i*8,8); 

並且看看裏面有什麼?

for(int i = 0; i < whole.length()/8; i++) 
    cout << "\r\n" + pieces[i] + "\r\n"; 
相關問題