程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言學習009:管道連接輸入輸出,語言學習009

C語言學習009:管道連接輸入輸出,語言學習009

編輯:關於C語言

C語言學習009:管道連接輸入輸出,語言學習009


  現在我們需要對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))的數據

  管道的好處是我們可以將每個小程序獨立完成自己的單一任務,使程序解耦。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved