【发布时间】:2015-03-20 05:32:12
【问题描述】:
我正在学习 C,我想做这个特定的任务。我知道有许多类似的问题和答案,但仍然......我会尝试更具体。可以说,我有一个包含以下几行的文件:
program01
programs
aprogram
1program
prog
5program
我现在想要一个数组:
1program
5program
aprogram
prog
program01
programs
所以字符串中只有拉丁小写字母和数字,没有空格。我知道如何执行一些单独的步骤,但想了解和感受整个(和正确的)概念,可以这么说。在首先从文件中读取时,它可能会即时做出一些排序决定?对于我的特殊情况,手动排序是首选,只是为了更好的学习和可能的优化。可以说,一行的最大长度是 256,最大行数是 256。提前致谢。
【问题讨论】:
-
我知道如何执行一些单独的步骤,好的,请展示您所知道的以及您在哪里卡住了,我很乐意提供帮助,因为我确信其他 SO用户会。
-
1) 阅读。 2) 排序。问题出在哪里?
-
我认为你应该从类似的问题之一开始,并根据自己的需要进行调整,毕竟它们基本上都是相同的问题,但遇到的问题不同。
-
1)
char buffer[256][256 + 2]2) 调用fgets()最多 256 次。 3)qsort()。 4) 打印线条。 -
@iharob (和其他) 很高兴你很乐意提供帮助,所以我知道
char*只是一个字节数组,我可以像 int 一样比较每个字符。比较两个字符串很容易。但是由于缺乏 C 语法知识,尤其是指针运算,我发现一些排序示例很难理解。