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