程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言學習008:標准錯誤,c語言學習008標准

C語言學習008:標准錯誤,c語言學習008標准

編輯:關於C語言

C語言學習008:標准錯誤,c語言學習008標准


  在上一節中的數據文件中(C語言學習007:重定向標准輸入和輸出),如果文件中的數據包含非法數據,如何讓程序顯示一條錯誤的提示消息呢?就需要用到標准錯誤

 1 #include <stdio.h>
 2  
 3  int main(){
 4      float latitude;
 5      float longitude;
 6      char info[80];
 7      int started=0;
 8      puts("data[");
 9      while(scanf("%f,%f,%79[^\n]",&latitude,&longitude,info)==3){
10          if(started){
11              printf(",\n");
12          }
13          else{
14              started=1;
15          }
16          if((latitude<-90.0)||(latitude>90.0)){
17              fprintf(stderr,"Invalid latitude:%f\n",latitude);//fprintf既可以把文件發送到標准輸出(stdout),也可以發送到標准錯誤(stderr)
18              return 2;
19          }
20          if((longitude<-180.0)||(longitude>18.0)){
21              fprintf(stderr,"Invalid longtitude:%f\n",longitude);
22              return 2;
23          }
24          printf("{latitude:%f,longitude:%f,info:'%s'}",latitude,longitude,info);
25      }
26      puts("\n]");
27      return 0;
28  }

  我們可以看到,即使用”>“運算符重定向輸出到output.json文件,依然可以在屏幕上看到錯誤消息;創建標准錯誤的目的就是為了區分普通輸出和錯誤消息

  還有更厲害的是我們可以用"2>"運算符重定向標准錯誤

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