Sort-20191304商苏赫
Sort
- 用man sort 查看sort的帮助文档
- sort常用选项有哪些,都有什么功能?提交相关使用的截图
- 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用
Linux下用man查看
sort常用功能
- --help 显示帮助。
- -b 忽略每行前面开始出的空格字符。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -g 排序时,忽略大小。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
- -M 将前面3个字母依照月份的缩写进行排序。
- -n 依照数值的大小排序。
- -u 意味着是唯一的(unique),输出的结果是去完重了的。
- -o将排序后的结果存入指定的文件。
- -r 以相反的顺序来排序。
- -t指定排序时所用的栏位分隔字符。
- --version 显示版本信息
实践使用
文本内容:
输出结果:
sort实现构想,伪代码
首先写一个filesize函数来获取文件大小,filesize可以用fseek(p,0,SEEK_SET);和fseek(p,0,SEEK_END);获取大小。sort函数里面,利用fopen()打开文件,用fgetc()读取文件内容,然后循环将内容放入数组,然后进行排序,最后使用case对各个参数进行不同的设置形成不同的输出。
int filesize()
{
***
int begin = ftell(p);
fseek(p,0,SEEK_END);
int end = ftell(p);
int size = end - begin; //获取文件大小
return size;
}
int sort()
{
***
fopen
fgetc
while(){
将内容循环放入数组。
}
case对参数进行判断
***
}
int main()
{
***
scanf("%s",file);
int s=size(file);
sort(file,s);
}