将数组复制到另一个数组,C

时间:2013-09-20 01:40:30

标签: c arrays

我在将数组复制到数组时遇到问题。打印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);

0 个答案:

没有答案