hi, so im reading in binary numbers from a text file in c++.
So the first line of binary numbers go like this: 1100000000000000
so i use a string array to store these numbers and it is stored exactly as it is read i.e. 1100000000000000
what i would like to do is read it as it is but then store it in a integer array ; for example my
int a[1] would be , a[1] = {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} and then a[2] would be my second line from my file how do i implement this?
i hope you guys get what im trying to say. [english isnt my primary language lol!]
thanks alot!
Last edited on
Maybe what you're looking for is an std::bitset.

 `` `` ``std::bitset<10> b(string);``

You can then access each bit by typing `b[x]`.
i am not very familiar with that considering im only a beginner, could you explain to me how that works? i want to be able to work with those numbers later, will bitsets allow me to do that?
Last edited on
Well okay then, let's not use std::bitset and instead do what you say. We store the data in an int array.

You read the binary numbers not into a
 string array
, but into a string:

 ``12`` ``````std::string binaries; // Now you load the data from a file, into this string, it contains 1 line. ``````

Now you have a string containing a sequence of 0's and 1's, and you want them to be part of an int array.

 ``1234567`` ``````int *ptr = new int[binaries.size()] // A dynamic array, the size of the loaded string. for (int i = 0; i < binaries.size(); ++i) // Every item is copied to the int array. { ptr[i] = ((binaries[i] == '1') ? 1:0); // if the char is '1', then int 1 will be put into ptr[i], else 0 will be put into that element. } // Now you can access each element like so: int num = ptr[3];``````

Remember to call `delete [] ptr;` after you're done using ptr..
Last edited on
@Bourgond Aries thanks i found out how to use bitsets thanks for your help!
Last edited on
Topic archived. No new replies allowed.