0

配列を配列にコピーする際に問題があります。印刷 file1[i] が機能します。file1[1] は一連の MAC アドレスで構成されます。

temp1、temp2、および save_MAC を印刷すると、そこには何も表示されません。理由を知っている人はいますか?

char    file1[MAX_MAC_ADD][BIG_NUM];
char    save_MAC[MAX_MAC_ADD][BIG_NUM];
int         unique_MAC = 0;



    for (int i = 0; i < num_MAC; ++i)
    {
        printf("file1[%d]='%s'\n", i, file1[i]);
    }
    printf("\n\n");
    printf("-------------\n");

    char temp1[16];
    char temp2[16];
    for(int i= 0; i <17; i++)
    {
        temp1[i] = file1[1][i];
    }
    for(int i = 0; i < unique_MAC+1; i++)
    {
        for(int j = 0; j <17; j++)
        {
            temp2[j] = save_MAC[i][j];
        }
    }
    //if not the same
    if(strcmp(temp1, temp2) != 0)
    {
        //copy address into save_MAC
        strcpy(save_MAC[unique_MAC], temp1);
        unique_MAC++;
    }

    for (int i = 0; i <1; ++i) //try to print save_MAC[0] first
        {
        printf("save_MAC[%d]='%s'\n", i, save_MAC[i]);
    }
    printf("\n\n");
    printf("temp1:%s\n", temp1);
    printf("temp2:%s\n", temp2);
4

0 に答える 0