strcmp的运用解决方法

strcmp的运用
if(strcmp(s,"0")==0)
{
 fgets( str, sizeof(str), fp );
         fgets( str, sizeof(str), fp );
         fgets( str, sizeof(str), fp );
}
我想实现字符数组s为0时,跳3行;不为0时,跳5行。
但是我感觉我这样编写是反过来了。
怎么办,要是不用strcmp,怎么实现
------解决思路----------------------
//in.txt:
//  3,     6,     0,'1 ',2,2,1, 0.00000E+0, 0.00000E+0,2,'T3          ',1,   1,1.0000
// 0.00000E+0, 5.86000E-2,   100.00
//13.8000,   0.000,   0.000,     0.00,     0.00,     0.00, 0,      0, 1.10000, 0.90000, 1.10000, 0.90000,  33, 0, 0.00000, 0.00000,  0.000
//242.000,   0.000
//
// 415,   418,   416,'3#',2,3,2, 1.46400E+5, 2.30000E-3,1,'青浦-3#     ',1, 252,1.0000
// 5.85500E+5, 1.31000E-1,   180.00, 5.40680E+5, 7.80000E-2,   180.00, 7.09880E+5, 2.30000E-1,   180.00,0.97739,  20.3138
//231.000, 230.000,   0.000,   180.00,   180.00,   180.00, 0,      0,236.5000,214.5000,253.0000,207.0000,   4, 0, 0.00000, 0.00000,  0.000
//115.000, 115.000,   0.000,   180.00,   180.00,   180.00, 0,      0,115.0000,115.0000,126.5000,103.5000,   4, 0, 0.00000, 0.00000,  0.000
//37.5000,  37.000,   0.000,   180.00,   180.00,   180.00, 0,      0,37.50000,37.50000,40.70000,33.30000,   4, 0, 0.00000, 0.00000,  0.000
//
//第一行第三个数为0,跳3行。不为0,判断第12个数为零跳5行,不为0,跳5行的同时,total加1
#include <stdio.h>
#include <string.h>
void get_field(char *src,int no,char **t) {
    int i=0;
    static char des[4096];

    strcpy(des,src);
    *t=strtok(des,",");
    while (1) {
        if (*t==NULL) break;
        i++;
        if (i==no) break;
        *t=strtok(NULL,",");
    }
}
int main() {
    static char str[4096];
    char *s,*s2;
    FILE *fp,*ft;
    int v,total=0;

    fp=fopen("in.txt","r");
    if (fp==NULL) return 1;
    ft=fopen("out.txt","w");
    if (ft==NULL) {fclose(fp);return 2;}
    while (1) {
        if (NULL==fgets( str, sizeof(str), fp )) break;
        get_field(str, 3, &s );fprintf(ft,"%s\n", s );
        get_field(str, 12, &s2 );fprintf(ft,"%s\n", s2 );
        if (s && 1==sscanf(s,"%d",&v) && v==0) {
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
        } else {
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
            fgets( str, sizeof(str), fp );
            if (s2 && 1==sscanf(s2,"%d",&v) && v!=0) total++;
        }
    }
    fclose(fp);
    fclose(ft);
    printf("total==%d\n",total);
    return 0;
}
//total==1
//
//out.txt:
//   0
//1
// 416
//1