0

この次のコンテナを一時変数にコピーする方法と、その一時変数もどのように定義する必要があるかを知りたいです。

const char *containers_1[] = {"one","two","why do I stuck in this problem"};
const char *containers_2[] = {"Other","string","here"};

そのため、これらのコンテナの 1 つをコピーできる適切なタイプの一時変数を探しています。の宣言は"const char * container []"、形式を適切に維持するために変更したくないコードからのものです!

御時間ありがとうございます。

4

1 に答える 1

1

コードを改善する必要がありますが、これはあなたが望むものだと思います。

const char *containers_1[] = {"one","two","why do I stuck in this problem"};
const char *containers_2[] = {"Other","string","here","whis","has","more"};

main(int argc, char **argv) {

char ** tmp1;
int i, size;

size = sizeof(containers_1);
printf ("%d\n", size);
tmp1 = malloc(size);
memcpy(tmp1, containers_1, sizeof(containers_1));

for (i=0; i< size/sizeof(char *); i++) {
    printf("%s\n", tmp1[i]);
    }

size = sizeof(containers_2);
printf ("%d\n", size);
tmp1 = malloc(size);
memcpy(tmp1, containers_2, sizeof(containers_2));

for (i=0; i< size/sizeof(char *); i++) {
    printf("%s\n", tmp1[i]);
   }
}
于 2013-09-25T14:55:34.913 に答える