在二进制字符串的数字之间给予空格

时间:2017-10-29 04:29:14

标签: c++ binary c++14

假设我有一个二进制数字串,例如。 1110001110010101,我想将这个数字存储在一个字符串中。

现在我想将这些1和0分开,以便我可以解决它们。我该怎么办?

2 个答案:

答案 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;
}