2014-01-29 65 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"; 
相关问题