2015年10月7日 星期三

[C] fputs & fgets


Purpose :
Remove
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
and copy to file.txt

C code

#include <stdio.h>

#define Max_CA_String 128

int main()
{
   FILE *fp, *fpw;
   char str[Max_CA_String];

   /* opening file for reading */
   fp = fopen("/tmp/test/ca.crt" , "r");
   if(fp == NULL) 
   {
       perror("Error opening file");
       return(-1);
   }

   fpw = fopen("/tmp/test/file.txt" , "w");
   if(fpw == NULL) 
   {
       perror("Error opening file");
       return(-1);
   }

   while((fgets (str, Max_CA_String, fp))!= NULL) 
   {
       if ((strstr(str,"BEGIN CERTIFICATE") != NULL) || (strstr(str,"END CERTIFICATE") != NULL))
           continue;
       fputs(str,fpw);
   }
   fclose(fp);
   fclose(fpw);

   return(0);
}

ca.crt
-----BEGIN CERTIFICATE-----
MIIDQzCCAqygAwIBAgIJAOj/t8m56DlHMA0GCSqGSIb3DQEBBQUAMHUxCz
7gjIfkFm3FvchePjijmp66F5pHcwdTELMAkGA1UEBhMCVFcxCzAJBgNVBAgTAlRX
MRAwDgYDVQQHEwdIc2luQ2h1MREwDwYDVQQKEwhQZWdhdHJvbjERMA8GA1UEAxMI
UGVnYXRyb24xITAfBgkqhkiG9w0BCQEWEm1lQG15aG9zdC5teWRvbWFpboIJAOj/
t8m56DlHMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAIZI/R8VJzapg
Nko8/nO93I+/w/7MaWyB7LwDiRXEttnPcBsdE+/Gr+veu+351yCS8p187fTg5ONi
sW+yth0mAIA276DTDOdstdXuAPBVIfFZ2o/bnz+diiQm9qWkwRIzyye/n+wgGA4P
IXw/aBgtRn/NBJgGDmaacAv/2EvZ8PU=
-----END CERTIFICATE-----

0 意見:

張貼留言