`
deepfuture
  • 浏览: 4342301 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79527
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68596
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101753
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281769
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14662
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65877
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31413
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45329
社区版块
存档分类
最新评论

linux-C-输入输出文件句柄

阅读更多

1、使用键盘和屏幕做为输入和输出

deepfuture@deepfuture-laptop:~/private/mytest$ gcc -o test19 test19.c

deepfuture@deepfuture-laptop:~/private/mytest$ ./test19

deepfuture

deepfuture

javaeye

javaeye

com

com

 

 

^C

deepfuture@deepfuture-laptop:~/private/mytest$ 

2、使用>指定标准输出

deepfuture@deepfuture-laptop:~/private/mytest$ ./test19 >xx.txt

deepfuture.iteye.com

^C

deepfuture@deepfuture-laptop:~/private/mytest$ cat xx.txt

deepfuture.iteye.com

3、使用<>指定标准输入

deepfuture@deepfuture-laptop:~/private/mytest$ ./test19 <test19.c> xx.c

deepfuture@deepfuture-laptop:~/private/mytest$ cat xx.c

#include <stdio.h>

#include <unistd.h> 

#define BUFFSIZE 100

 

int main(void){

   int n;

   char buf[BUFFSIZE];

   //STDIN_FILENO是输入文件句柄,一般为0

   //STDOUT_FILENO是输出文件句柄,一般为1

   while((n=read(STDIN_FILENO,buf,BUFFSIZE))>0){

        if (write(STDOUT_FILENO,buf,n)!=n){

            perror("write error!\n");

        }

   }

   if (n<0){

            perror("read error!\n");

   }

}

deepfuture@deepfuture-laptop:~/private/mytest$ 


#include <stdio.h>
#include <unistd.h> 
#define BUFFSIZE 100

int main(void){
   int n;
   char buf[BUFFSIZE];
   //STDIN_FILENO是输入文件句柄,一般为0
   //STDOUT_FILENO是输出文件句柄,一般为1
   while((n=read(STDIN_FILENO,buf,BUFFSIZE))>0){
        if (write(STDOUT_FILENO,buf,n)!=n){
            perror("write error!\n");
        }
   }
   if (n<0){
            perror("read error!\n");
   }
}
 
分享到:
评论

相关推荐

    netcat 瑞士军刀 linux windows netcat 瑞士军刀 linux windows

     -z 将输入输出关掉——用于扫描时  其中端口号可以指定一个或者用lo-hi式的指定范围。  例如:扫描端口  tcp扫描  C:\nc&gt;nc -v -z -w2 192.168.0.80 1-140  net [192.168.0.80] 140 (?)  net [192.168...

    易语言程序免安装版下载

    修改高级表格支持库,在双击单元格进入编辑状态后,不能收到第一个“字符输入”事件的BUG。 2. OpenGL支持库中的部分英文名称常量已改为中文,并统一在所有常量名称之前加前缀“GL_”,以减少与其它库的冲突机率。...

    linux内核 0.11版本源码 带中文注释

    // 送格式化输出到一字符串中(在kernel/vsprintf.c,92 行)。 extern void init (void); // 函数原形,初始化(在168 行)。 extern void blk_dev_init (void); // 块设备初始化子程序(kernel/blk_drv/ll_rw_...

    编程新手真言......

    4.3 C的输入与输出流 84 4.4 C的类型系统与表达式 85 4.5 二进制指令看循环 85 4.6 所谓指针:当指针用于设计居多时 86 4.7 指针成就的C语言 86 4.8 指针是语言的一种抽象机制 88 4.9 学C千万不能走入的一个误区...

    NC源码和程序附上目前最详细的使用手册和使用技巧

    -z 将输入输出关掉–用于扫描时 端口的表示方法可写为M-N的范围格式。 ======================================================== 基本用法: 1)连接到REMOTE主机,例子: 格式:nc -nvv 192.168.x.x ...

    NC原版与VC60版本

    -z 将输入输出关掉–用于扫描时 端口的表示方法可写为M-N的范围格式。 ======================================================== 基本用法: 1)连接到REMOTE主机,例子: 格式:nc -nvv 192.168.x.x 80 讲解:连到...

    Linux?select具体解释

     我们熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,相应的FILE *结构的表示是stdin、stdout、stderr。  继续上面的select,是用来监视某个或某些句柄的状态变化...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    找到mingwm10.dll 文件,将其复制到C:\WINDOWS\system 文件夹下,即可。下 面再提示缺少什么dll 文件,都像这样解决就可以了。 二、Qt Creator 编写多窗口程序(原创) 实现功能: 程序开始出现一个对话框,按下按钮...

    Apparat:C ++库-开源

    高级智能指针(强弱句柄),容器集(数组,列表,映射,扇区,循环缓冲区,优先级队列),自己强大的信号/插槽机制(信号可以与之连接)其他线程中的插槽),函子和函子的映射,线程和计时器,状态机,输入/输出流和...

    Shell脚本专家指南

    9.3 访问用户指定的文件句柄 9.4 从shell中访问描述符 第10章 管道输入读 10.1 逐行选项1 10.2 逐行选项2 10.3 逐行选项3 10.4 逐行选项4 10.5 直接管道读 10.6 逐字处理输入 第2部分 系统交互与高级技术 第11章 ...

    Tinyxml 源代码(VC6 & VS2005)

    Print( FILE* ):输出到一个标准C流中,包括所有的C文件和标准输出。 "相当漂亮的打印", 但你没法控制打印选项。 输出数据直接写到FILE对象中,所以TinyXML代码没有内存负担。 被Print()和SaveFile()调用。 ...

    Reversing:逆向工程揭密

    3.7 输入与输出 103 3.7.1 I/O系统 103 3.7.2 Win32子系统 104 3.8 结构化异常处理 105 3.9 结论 107 第4章 逆向工具 109 4.1 不同的逆向方法 110 4.1.1 离线代码分析 110 4.1.2 现场代码分析 110 4.2 反汇编器——...

Global site tag (gtag.js) - Google Analytics