C 使用qsort对字符串数组进行排序
所以有一个作业要求我从文件中读取输入并对输入进行排序。因此,如果我有一个包含以下内容的文件:C 使用qsort对字符串数组进行排序,c,C,所以有一个作业要求我从文件中读取输入并对输入进行排序。因此,如果我有一个包含以下内容的文件: banana apple orange 我已成功地将这些字符串插入数组。数组包含如下内容: {'b','a','n','a','n','a','\n','a','p','p','l','e','\n','o','r','a','n','g','e'} 现在让我困惑的是,我必须使用qsort对这些字符串进行排序。我创建了一个比较两个字符数组的方法,它可以工作。但是,它成功地比较了两个不同的字符串。但是
banana
apple
orange
我已成功地将这些字符串插入数组。数组包含如下内容:
{'b','a','n','a','n','a','\n','a','p','p','l','e','\n','o','r','a','n','g','e'}
现在让我困惑的是,我必须使用qsort对这些字符串进行排序。我创建了一个比较两个字符数组的方法,它可以工作。但是,它成功地比较了两个不同的字符串。但是,如何使用qsort对数组进行排序 你所写的似乎不是一个字符串数组(char**),而是一个字符数组(char*),它是一个字符数组。除非你的作业还涉及到被烫手,否则我建议你改用标准库字符串。你想要字符串数组(指向多个
char*
,或char**
),还是字符数组(指向多个char
,或char*
)?如果我必须制作2D数组来保存这些字符串,我如何初始化数组(因为每个字符串的长度不同)。目前,我初始化数组“char*arr=malloc(size+1)”,并在fstat2D数组初始化中使用st_size获得大小。初始化分两步:首先初始化“字符串数组”char**arrStrings=malloc(numStrings*sizeof(char*)
,然后循环“字符串数组”并为每个字符串分配空间:arrStrings[i]=malloc(size+1)代码>