title: issue Adding strings to string
body: <p>I am trying to put tokens into a queue. However, when I try to put in  a number that has more than one digit (i.e., 10, 123 ) it reads them as separate digits. Can someone tell me what I'm doing wrong? I've tried string insert and append and none of them seem to work</p>
  
  <pre><code>queue &lt;string&gt; getTokens(string token){ 
  
      int a = (int) token.length();
      string temp;
      queue &lt;string&gt; numbers;
      char t;
  
      for (int i =0; i &lt;a; i++){
  
          t = token[i];
          while (!isdigit(t)){
          if (t=='+' || t=='-' || t=='/' || t=='*' || t=='^'){
              string temp1;
              temp1 += t;
              numbers.push(temp1);
              temp1.clear();
          }
          else if (t=='(' || t==')'){
              string temp1;
              temp1 += t;
              numbers.push(temp1);
              temp1.clear();
          }
  
          else if (!isalpha(token[i-1])  &amp;&amp; t == 'e' &amp;&amp; !isalpha(token[i+1])){
              string e = "2.718";
              numbers.push(e);
          }
  
  
  
          else if (!isalpha(token[i-1]) &amp;&amp; t == 'p' &amp;&amp; token[i+1]== 'i' &amp;&amp; !isalpha(token[i+2])){
              string pi = "3.14169";
              numbers.push(pi);
          }
          break;
      }
  
          //if it is one single number
          if (!isdigit(token[i-1])  &amp;&amp; isdigit(t) &amp;&amp; !isdigit(token[i+1])){
              string tt; 
              tt += t;
              numbers.push(tt);
          }
  
  
          //if there is more than one number
          else if ((isdigit(t) &amp;&amp; isdigit(token[i+1])) || (isdigit(token[i-1])  &amp;&amp; isdigit(t))){ //if it is a number              
  
              string temp2;
              string temp3="k";
              string temp4;
              //cout &lt;&lt; t;
  
              //int j=1;
              if( isdigit(token[i])){
                  temp2 += t;
  
                  cout&lt;&lt;"temp2 : "&lt;&lt;temp2&lt;&lt;endl;
  
  
  
                  cout &lt;&lt;"temp3 :" &lt;&lt; temp3&lt;&lt;endl;
                  //temp2.clear();
                  temp3 +=temp2;
              }
              temp4.append(temp3);
              temp4 +=temp3;
              //cout&lt;&lt;"hi"&lt;&lt;endl; 
  
  
                  cout &lt;&lt; "This is temp4: " &lt;&lt; temp4 &lt;&lt;endl;
                  //cout &lt;&lt; "this is temp3: " &lt;&lt; temp3&lt;&lt; endl;
                  //temp2.clear();
  
  
              //cout&lt;&lt;temp2 &lt;&lt; "yo";
              //temp3.assign(temp2);
              //cout &lt;&lt; "temp3 is : "&lt;&lt; temp3;            
  
          }       
  
          else 
              continue;
   }
  
  
  return numbers;
  </code></pre>
  
  <p>}</p>
  
  <pre><code>int main (){
  
      string expression;
  
      getline(cin,expression);
      cout &lt;&lt; expression; 
      queue &lt;string&gt; ts;  
      ts= getTokens(expression);
  }
  </code></pre>