我有一个包含四个名字的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]?
干杯,朱迪思
答案 0 :(得分:1)
char namesSorted[4][20];
...
for(int i = 0; i < 4; i++) {
strcpy(namesSorted[i], strings[i]);
}
[U]很遗憾,我在使用
strcpy
后不止一次收到了一些条目。
我怀疑你的比较功能(未包含在问题中)存在缺陷。