這個是警告,可以不理,意思是func的返回類型有問題吧,應該是函數(shù)定義了void,但在函數(shù)里寫了,return 0;,把代碼貼出來看看。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比臨江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臨江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋臨江地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
一般都是在處理文件時用到的比較多,如:
#include?stdio.h
#include?stdlib.h
int?main(void)
{
perror("File?error?");
}
#include?stdio.h
#include?stdlib.h
int?main(void){
FILE?*fp;
if((fp=fopen("test",?"rb"))==NULL)?{
printf("Cannot?open?file.\n");
exit(1);
}
putc('C',?fp);
if(ferror(fp))?{?//?檢測文件是否出錯
printf("File?Error\n");
exit(1);
}
fclose(fp);
return?0;
}
errno會返回一個數(shù)字,每個數(shù)字代表一個錯誤類型。詳細的可以查看頭文件。/usr/include/asm/errno.h
如何把errno的數(shù)字轉換成相應的文字說明?
方式一:可以使用strerrno函數(shù)
char
*strerror(int
errno)
使用方式如下:
fprintf(stderr,"error
in
CreateProcess
%s,
Process
ID
%d
",strerror(errno),processID)
將錯誤代碼轉換為字符串錯誤信息,可以將該字符串和其它的信息組合輸出到用戶界面。
注:假設processID是一個已經(jīng)獲取了的整形ID
方式二:使用perror函數(shù)
void
perror(const
char
*s)
函數(shù)說明
perror
(
)用來將上一個函數(shù)發(fā)生錯誤的原因輸出到標準錯誤(stderr),參數(shù)s
所指的字符串會先打印出,后面再加上錯誤原因
字符串。此錯誤原因依照全局變量
errno
的值來決定要輸出的字符串。
另外并不是所有的c函數(shù)調用發(fā)生的錯誤信息都會修改errno。例如gethostbyname函數(shù)。
errno是否是線程安全的?
errno是支持線程安全的,而且,一般而言,編譯器會自動保證errno的安全性。
我們看下相關頭文件
/usr/include/bits/errno.h
會看到如下內容:
#
if
!defined
_LIBC
||
defined
_LIBC_REENTRANT
/*
When
using
threads,
errno
is
a
per-thread
value.
*/
#
define
errno
(*__errno_location
())
#
endif
#
endif
/*
!__ASSEMBLER__
*/
#endif
/*
_ERRNO_H
*/
也就是說,在沒有定義__LIBC或者定義_LIBC_REENTRANT的時候,errno是多線程/進程安全的。
為了檢測一下你編譯器是否定義上述變量,不妨使用下面一個簡單程序。
#include
stdio.h
#include
errno.h
int
main(
void
)
{
#ifndef
__ASSEMBLER__
printf(
"Undefine
__ASSEMBLER__/n"
);
#else
printf(
"define
__ASSEMBLER__/n"
);
#endif
#ifndef
__LIBC
printf(
"Undefine
__LIBC/n"
);
#else
printf(
"define
__LIBC/n"
);
#endif
#ifndef
_LIBC_REENTRANT
printf(
"Undefine
_LIBC_REENTRANT/n"
);
#else
printf(
"define
_LIBC_REENTRANT/n"
);
#endif
return
0;
}
inquire,judgeNum,judgeName這三個函數(shù)定義有問題。
最好把ATP.CPP的205行附近的代碼貼出來,看到代碼才知道是什么錯誤。
ave=0;放到double box[10];的后面。
C語言要求變量在函數(shù)開始的地方全部聲明好。
分享題目:c語言有error函數(shù)嗎 c語言錯誤處理函數(shù)
文章鏈接:http://www.chinadenli.net/article34/dodcese.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站內鏈、移動網(wǎng)站建設、網(wǎng)站策劃、動態(tài)網(wǎng)站、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)