对于通用的程序来说, 你无法预先了解文件的大小.需要首先获取文件大小, 使用动态分配.
int getFileSize(char * strFileName){
FILE * fp = fopen(strFileName, "r")
fseek(fp, 0L, SEEK_END)
int size = ftell(fp)
fclose(fp)
return size
} 指派
int asciiTank(int fileszie,char * strFileName)
{
char *p
char s
int cnt=0
p = (char *)malloc(filesize * sizeof(char))
if (NULL == p) exit (1)
memset(p,0,filesize)
FILE * fp = fopen(strFileName, "r")
while(!feof(fp))
{
if(1 == fread(&s,sizeof(char),1,fp))
{
*(p+cnt) = s
cnt+=1
}
}
// 数组的排序就不写了, 判逗扰自行查阅数据结构的书籍
}
int main(int argc,char *argv[])
{
int size
size = getFileSize(argv[1])
asciiTank(szie,argv[1])
掘旦 return 1
}
linx中的分号可以按顺序执行命令(程序)例如
程序1程序2程序3程序4
这样就会按着顺序从程序1执行到程序4
如果前面的程序的输出要作为后面程序的输入则可以使用管道符|来完成
例如
程序1|程序2|程序3|程序4
这样前面的输出会作为后面的输入
同样陪春的程序的执行顺序也是按着程序1至程序4
也可以使用芦碰耐&&来顺序运行程序
&&表示前面的程序正确运行后运行后面的程序
例如
程序1&&程序2&&程吵告序3&&程序4
如果前面的程序运行失败的话后面的程序将无法运行
如果程序都没有问题的话则也可以达到顺序执行程序的效果
功能说明:将文本文件内容加以排序。语法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文搜猛件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help 显示帮助。
--version 显示版本信息
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面通过几个例子来讲述Sort的使用。
用Sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。
$ cat text
vegetable soup
fresh vegetables
fresh fruit
lowfat milk
$ Sort text
fresh fruit
fresh vegetables
lowfat milk
vegetable soup
用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。下例中用户把排序后的文件内容保存到名为result的文件中。
$ Sort text>result
以第2个字段作为排序关键字对文件example的内容进行排序。
$ Sort +1-2 example
对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为兆陆排序关键字。
$ Sort -r -o outfile +1.0 -1.1 example
Sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给Sort进行排序,排序关键字是第6个至第8个字段。
$ ls - l | Sort +5 - 7
$ ps -e -o " comm pid time"|Sort -d //按照command的首字母的字母顺序排序
Sort命令也可以对标准输入进行 *** 作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合
并,然后用管道 *** 作把合并后的文本行输入给命令Sort,Sort命令将输世猜桥出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件
fruitlist的文本行经过合并与排序后被保存到文件clist中。
$ cat veglist fruitlist | Sort >clist
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)