C语言学习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))的数据
管道的好处是我们可以将每个小程序独立完成自己的单一任务,使程序解耦。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步