C language two dimensional array processing example

  • 2020-04-02 02:04:26
  • OfStack


char finalPathSet[256][256];
 char middlePathSet[256][256];
 int finalSetSize=0;
 int middleSetSize=0;

int addToPathSet(char path[]){
    strcpy(middlePathSet[middleSetSize],path);
    middleSetSize++;
}
int meetPathSet(){
    char tempPathSet[256][256];
    int tempSetSize=0;
    int i,j;    
    if(finalSetSize==0){
         for(i=0;i<middleSetSize;i++){
            strcpy(finalPathSet[i],middlePathSet[i]);                                        
         }
         finalSetSize=middleSetSize;
    }
    else{
        for(i=0;i<finalSetSize;i++){
            for(j=0;j<middleSetSize;j++){
                if(strcmp(finalPathSet[i],middlePathSet[j])==0){
                     strcpy(tempPathSet[tempSetSize],finalPathSet[i]);
                     tempSetSize++;
                }                                                                                
            }
        }
       for(i=0;i<tempSetSize;i++){
           strcpy(finalPathSet[i],tempPathSet[i]);
       }                          
       finalSetSize=tempSetSize;
    }
}

Related articles: