让程序感知从管道输入
来源:互联网 发布:盐城平面软件培训 编辑:程序博客网 时间:2024/04/30 21:42
------------------------------------------------------------
author: hjjdebug
date: Fri Jun 13 11:14:34 CST 2014
------------------------------------------------------------
让程序感知从管道输入:
通常,程序从文件输入,但是我们知道,grep sed awk 都可以即从文件输入
也可以接受管道输入, 就是从stdin 输入, 怎样让自己的程序也支持这种特性呢?
方法是: 当命令行中无参数时,就把stdin 作为读入文件描述符,经测试无误。
------------------------------------------------------------
附上我的测试结果。
------------------------------------------------------------
[hjj@hjj ~/ctest]$ echo "hello" | ./test
hello
[hjj@hjj ~/ctest]$ cat Makefile |./test
all:
gcc -o test -g test.c
clean:
rm test
[hjj@hjj ~/ctest]$ ./test Makefile
all:
gcc -o test -g test.c
clean:
rm test
------------------------------------------------------------
附上我的测试代码。
------------------------------------------------------------
[hjj@hjj ~/ctest]$ cat test.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char buffer[256];
FILE *fp=NULL;
if(argc < 2)
{
fp=stdin;
}
if(fp==NULL)
{
fp=fopen(argv[1],"r");
if(!fp)
{
perror("Err Reason:");
exit(2);
}
}
while(!feof(fp))
{
char *s=fgets(buffer,sizeof(buffer),fp);
if(s) printf("%s",s);
}
// printf("ok\n");
return 0;
}
author: hjjdebug
date: Fri Jun 13 11:14:34 CST 2014
------------------------------------------------------------
让程序感知从管道输入:
通常,程序从文件输入,但是我们知道,grep sed awk 都可以即从文件输入
也可以接受管道输入, 就是从stdin 输入, 怎样让自己的程序也支持这种特性呢?
方法是: 当命令行中无参数时,就把stdin 作为读入文件描述符,经测试无误。
------------------------------------------------------------
附上我的测试结果。
------------------------------------------------------------
[hjj@hjj ~/ctest]$ echo "hello" | ./test
hello
[hjj@hjj ~/ctest]$ cat Makefile |./test
all:
gcc -o test -g test.c
clean:
rm test
[hjj@hjj ~/ctest]$ ./test Makefile
all:
gcc -o test -g test.c
clean:
rm test
------------------------------------------------------------
附上我的测试代码。
------------------------------------------------------------
[hjj@hjj ~/ctest]$ cat test.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char buffer[256];
FILE *fp=NULL;
if(argc < 2)
{
fp=stdin;
}
if(fp==NULL)
{
fp=fopen(argv[1],"r");
if(!fp)
{
perror("Err Reason:");
exit(2);
}
}
while(!feof(fp))
{
char *s=fgets(buffer,sizeof(buffer),fp);
if(s) printf("%s",s);
}
// printf("ok\n");
return 0;
}
0 0
- 让程序感知从管道输入
- 管道输出作为程序的输入
- 从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制。
- 从标准输入中读取几行输入,每行输入都要打印到标准输出上,前面要加上行号。在编写这个程序时要是图让程序能够处理的输入行的长度没
- 从感知机开始
- 让程序从指定内存处执行
- 感知机程序实现
- php标准输入,管道
- 让edittext的输入模式从密码到可见切换
- 从感知器到神经网络
- .NET Winform程序实现让TEXTBOX显示历史输入记录
- 仿QQ尾巴,让程序给记事本输入文字!:)
- 让程序显示输入错误的提示框
- 2.编写一个程序,从标准输入读取几行输入,每行输入都要打印到标准输出上,前面加上行号,在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制。
- 2.编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制
- 让文本框内输入的第一位字符不能为0,从第二位以后可以输入0
- TextFieldView设置背景提示placehodel,让textFiledView输入从最上面输入
- 输入、输出、管道、find、wc
- 做好SEO新手该从哪些方面着手
- cocos2dx3.0 添加第三方库,VS编译环境和Android编译环境添加方法
- <<学习VI和VIM编辑器>>读书记录<1>
- 编程常用设计模式详解--(上篇)(工厂、单例、建造者、原型)
- 按字节截取字符串
- 让程序感知从管道输入
- linux下网卡流量查看
- 股市基础知识、主力战法【一.2】
- Android Web App官方文档翻译第四章:调试
- 大学毕业初感悟
- 使用String.intern减少内存使用
- 如何编写键盘驱动程序
- 修改Android镜像文件 ramdisk.img、system.img、userdata.img获取root权限
- meteor+angularjs使用