复制c中的qsort指针的返回值

时间:2013-10-24 09:14:13

标签: c

我有一个包含四个名字的char数组,并打算用qsort对它们进行排序,如下所示:

char players[4][20];
char *strings[4];

/*input of the players into players[4] via stdin not shown*/

for(int i = 0; i < 4; i++) {
    strings[i] = players[i];
    printf("strings unsorted: %s \n", strings[i]);
}

size_t strings_len = sizeof(strings) / sizeof(char *);
qsort(strings, strings_len, sizeof(char *),cstring_cmp);

Qsort现在返回一个带有已排序名称的指针。如何将名称复制到新的char数组namesSorted [4] [20]?

干杯,朱迪思

1 个答案:

答案 0 :(得分:1)

char namesSorted[4][20];
...
for(int i = 0; i < 4; i++) {
    strcpy(namesSorted[i], strings[i]);
}
  

[U]很遗憾,我在使用strcpy后不止一次收到了一些条目。

我怀疑你的比较功能(未包含在问题中)存在缺陷。