我在使用system调用的C文件中有一个命令sort -n +1 -2 -o /tmp/ord_id
,这非常糟糕。我将如何创建一个快速排序函数来完成与unix命令相同的任务?以下是命令的调用方式:
static const char sortcmd[] = "sort -n +1 -2 -o /tmp/ord_id "; //dec during function
//later in the function
bu_vls_strcpy(&cmd, sortcmd); //ONLY NEED TO FIX THIS COMMAND
bu_vls_strcat(&cmd, argv[1]);
bu_vls_printf(&gedp->ged_result_str, "%V\n", &cmd);
(void)system( bu_vls_addr(&cmd) );
bu_vls函数是在程序中预定义的,所以把它们想象成通常的字符串函数。我评论了调用显示的代码行,感谢任何提示或代码(这不是一个家庭作业,独立项目!)
答案 0 :(得分:2)
有几个步骤:
argv[1]
)+1 -2
选择的字段。-n
)参数实现排序。这可以在整行上运行(如果您跳过第2步),也可以在您创建的结构上运行以表示已分析的行。qsort