假设我有一个二进制数字串,例如。 1110001110010101,我想将这个数字存储在一个字符串中。
现在我想将这些1和0分开,以便我可以解决它们。我该怎么办?
答案 0 :(得分:2)
当您使用C ++时,您的字符串存储在数组中并使用您可以访问的索引,或者您可以使用迭代器
string str = "mystring";
// Declaring iterator
std::string::iterator it;
// Declaring reverse iterator
std::string::reverse_iterator it1;
// Displaying string
cout << "The string using forward iterators is : ";
for (it=str.begin(); it!=str.end(); it++)
cout << *it;
cout << endl;
// Displaying reverse string
cout << "The reverse string using reverse iterators is : ";
for (it1=str.rbegin(); it1!=str.rend(); it1++)
cout << *it1;
答案 1 :(得分:1)
你总是可以选择天真的方法,分配一个新的字符串(差不多)两倍于输入字符串的大小,并一次填充一个字符。
例如:
std::string expand(const std::string& str)
{
std::string new_str;
size_t size = str.size();
new_str.resize(size*2-1);
for (size_t n = 0; n < size-1; n++)
{
new_str[n*2+0] = str[n];
new_str[n*2+1] = ' ';
}
new_str[size*2-2] = str[size-1];
return new_str;
}