title: Reading individual hex values line by line in c++
body: <p>I am trying to read a text file filled with individual hex values formatted like this:</p>
  
  <pre><code>0c 10 00 04 20 00 09 1a 00 20
  </code></pre>
  
  <p>What I would like is to read them in, convert to binary, then store in a vector. I would like my print statement to output like this:</p>
  
  <pre><code>00001100
  00010000
  00000000
  00000100
  00100000
  00000000
  00001001
  00011010
  00000000
  00100000
  </code></pre>
  
  <p>I thought I was reading my file correctly but I can only seem to get the first hex value from each line. For example: I can only read 0c before getting the next line and so forth. If someone could tell me what I am doing wrong that would be great. Here is my code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;fstream&gt;
  #include &lt;string&gt;
  #include &lt;sstream&gt;
  #include &lt;vector&gt;
  #include &lt;bitset&gt;
  
  using namespace std;
  
  vector&lt;bitset&lt;8&gt; &gt; memory(65536);
  
  int main () {
  
      string hex_line;
      int i = 0;
      ifstream mem_read;
  
      //Read text file
      mem_read.open("Examplefile.txt");
  
      if(mem_read.is_open()){
  
          //read then convert to binary
          while(getline(mem_read, hex_line)){
  
              unsigned hex_to_bin;
              stringstream stream_in;
  
              cout &lt;&lt; hex_line &lt;&lt; '\n';
              stream_in&lt;&lt; hex &lt;&lt; hex_line;
              stream_in &gt;&gt; hex_to_bin;
  
              memory[i] = hex_to_bin;
              i++;
          }
      }else{
          cout &lt;&lt; "File Read Error";
      }
  
      //print binaries
      for(int j = 0; j &lt; i; j++){
          cout &lt;&lt; memory[j] &lt;&lt; '\n';
      }
  
      mem_read.close();
  
      return 0;
  }
  </code></pre>