title: C beginner: string parsing
body: <p>I'm trying to parse the following HTTP response:</p>
  
  <pre><code>HTTP/1.1 200 OK
  Date: Tue, 06 Dec 2011 11:15:21 GMT
  Server: Apache/2.2.14 (Ubuntu)
  X-Powered-By: PHP/5.3.2-1ubuntu4.9
  Vary: Accept-Encoding
  Content-Encoding: gzip
  Content-Length: 48
  Content-Type: text/html
  
  ��(�ͱ���I�O����H�����ч��
                        �4�@�B�$���S
  </code></pre>
  
  <p>I want to extract "48" and the binary content.</p>
  
  <p>Here's what I've tried sofar:</p>
  
  <pre><code>  //char* str contains the response
    char * pch;
    printf ("Splitting response into tokens:\n");
    pch = strtok (str,"\r\n");
    while (pch != NULL)
    {
        printf ("%s\n",pch);
        pch = strtok (NULL, "\r\n");
    }
  </code></pre>
  
  <p>But I'm kinda stuck now... Any help is greatly appreciated.</p>
  
  <hr>
  
  <p>edit:</p>
  
  <p>Here's what I've done sofar:</p>
  
  <pre><code>char* pch;
  char* pch2;
  pch=strstr(buf,"Content-Length:");
  pch2=strstr(pch,"\r\n");
  </code></pre>
  
  <p>How can I get the bit between these two pointers?</p>
  
  <hr>
  
  <p>Edit: solution:</p>
  
  <pre><code>        char* pch;
          char* pch2;
          pch=strstr(buf,"Content-Length:");
          int i=0;
          char contLen[20];
          for(i=0;i&lt;20;i++){
                  char next=pch[strlen("Content-Length:")+i];
                  if(next=='\r' || next=='\n'){
                          break;
                  }
                  contLen[i]=next;
          }
          printf("%d\n",atoi(contLen));
  </code></pre>