# 2.1 linux文件系统dup/dup2重定向应用实例
来源:互联网 发布:综合源码集合系 编辑:程序博客网 时间:2024/05/17 19:15
从文件里面读出1000个随机数,进行排序,再写到另一文件中。(考虑使用重定向dup/dup2)
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>void swp(int *p1, int *p2) //交换函数{ int tmp; tmp = *p1; *p1 = *p2; *p2 = tmp;}void sort(int *p) //数组排序函数{ int i, j; for(i = 0; i < 1000; i++) { for(j = i; j < 1000; j++) if(p[i] < p[j]) swp(&p[i], &p[j]); } }int main(void){ int fd1, fd2; int array[1000]; int i = 0; fd1 = open("hello", O_RDONLY); fd2 = open("result", O_CREAT|O_RDWR, 0644); dup2(fd1, STDIN_FILENO); //把标准输入重定向到fd1 dup2(fd2, STDOUT_FILENO);//把标准输出重定向到fd2 for(i = 0; i < 1000; i++) { scanf("%d", &array[i]);//这样就可以用scanf从文件中按回车读取数字到数组中 } sort(array);//排序 for(i = 0; i < 1000; i++) printf("%d\n", array[i]);//输出到fd2中去'\n'换行 close(fd1); close(fd2); return 0;}
注:dup2(fd1, STDIN_FILENO);
是把STDIN_FILENO重定向到fd1
hello中要有1000个随机数,回车间隔
0 0
- # 2.1 linux文件系统dup/dup2重定向应用实例
- Linux--重定向dup&&dup2
- 【Linux】重定向函数dup/dup2
- dup/dup2输出重定向
- 重定向之dup,dup2
- APUE之dup,dup2函数重定向标准输出实例
- linux句柄重定向之dup和dup2
- linux句柄重定向之dup和dup2
- linux—dup和dup2重定向文件描述符
- linux:文件描述符重定向dup&dup2
- [linux]--使用dup和dup2重定向和还原
- linux文件系统 dup dup2函数
- dup/dup2 标准输入输出重定向
- 利用dup/dup2重定向标准输入输出
- dup,dup2实现stdout重定向
- dup和dup2 与重定向
- 重定向编程 dup和dup2函数
- 文件描述符重定向---dup&dup2
- 换行过长文字 固定表格的长度
- c语言基于Linux下用libpcap实现抓包程序
- tomcat自动切割日志(Windows)
- UVa 170 - Clock Patience
- 嵌入式linux之自己写bootload之编写第1阶段
- # 2.1 linux文件系统dup/dup2重定向应用实例
- 高效抽取loading,再多的加载页面也不怕
- SpringMvc中静态文件下载。
- Spring集成Quartz定时任务的一些问题
- hdoj-1312-Red and Black(深搜)
- 按键精灵2014微信群内给好友轮流发私信
- 归并排序(Merge sort)
- HDU1026,广搜输出路径题
- python之发送邮件