码迷,mamicode.com
首页 > 编程语言 > 详细

C语言学习009:管道连接输入输出

时间:2016-04-06 22:57:56      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

  现在我们需要对gpsdata.csv文件中的数据进行筛选,然后将符合条件的数据输出到output.json文件中,第一种方式当然是在之前的代码中进行修改,但是如果我们不想修改原来的代码就能得到我们期望的结果,该如何实现呢?

42.0908,-71.2316,speed=21
37.1908,-74.2322,speed=19
42.0908,-71.3312,speed=20
44.5908,-70.2314,speed=17
39.0908,-62.2512,speed=19
43.0908,-60.1311,speed=16
45.0908,-65.2316,speed=20

  我们需要用到管道,管道可以连接一个进程的标准输出与另一个进程的标准输入,并用"|"符号表示

  现在我们来实现条件帅选的代码,我们将程序命名为bermuda

 1 #include <stdio.h>
 2 
 3 int main(){
 4     float latitude;
 5     float longitude;
 6     char info[80];
 7     while(scanf("%f,%f,%79[^\n]",&latitude,&longitude,info)==3){
 8         if((latitude>40)&&(latitude<44)){//筛选条件
 9             printf("%f,%f,%s\n",latitude,longitude,info);
10         }
11     }
12     return 0;
13 }

技术分享

  最后,我们可以看到output.json文件中包含了符合条件((latitude>40)&&(latitude<44))的数据

技术分享

  管道的好处是我们可以将每个小程序独立完成自己的单一任务,使程序解耦

C语言学习009:管道连接输入输出

标签:

原文地址:http://www.cnblogs.com/liunlls/p/C_pipe.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!