[問題] 錯誤處理函式的用法
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Lubuntu + gcc
問題(Question):
這是我從書上照抄的程式,想練習錯誤處理
不過不知道為何compile後會有warning
ferror.c:13:16: warning: initialization makes pointer from integer without
a cast
char *es = strerror(errno);
^
還有執行後會有Segmentation fault
餵入的資料(Input):
一個不存在的file nofile.xxx
預期的正確結果(Expected Output):
無Segmentation fault
錯誤結果(Wrong Output):
Segmentation fault
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void) {
FILE *fp;
puts("Open a file nofile.xxx");
fp = fopen("nofile.xxx","r");
if (!fp) {
perror("Error!");
}
char *es = strerror(errno);
puts(es);
clearerr(stdin);
return 0;
}
補充說明(Supplement):
程式出處:邊學邊做C語言
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.41.134.196
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1434013509.A.DAA.html
→
06/11 17:44, , 1F
06/11 17:44, 1F
→
06/11 17:57, , 2F
06/11 17:57, 2F
→
06/11 17:58, , 3F
06/11 17:58, 3F
→
06/11 18:10, , 4F
06/11 18:10, 4F
→
06/11 18:11, , 5F
06/11 18:11, 5F
→
06/11 18:12, , 6F
06/11 18:12, 6F
→
06/11 18:12, , 7F
06/11 18:12, 7F
→
06/11 18:13, , 8F
06/11 18:13, 8F
→
06/11 18:17, , 9F
06/11 18:17, 9F
→
06/11 18:17, , 10F
06/11 18:17, 10F
→
06/11 18:28, , 11F
06/11 18:28, 11F
→
06/11 18:36, , 12F
06/11 18:36, 12F
→
06/11 18:36, , 13F
06/11 18:36, 13F
→
06/11 18:38, , 14F
06/11 18:38, 14F
→
06/11 19:07, , 15F
06/11 19:07, 15F
→
06/11 19:07, , 16F
06/11 19:07, 16F
→
06/11 19:08, , 17F
06/11 19:08, 17F
→
06/11 19:09, , 18F
06/11 19:09, 18F
→
06/11 19:14, , 19F
06/11 19:14, 19F
→
06/11 19:36, , 20F
06/11 19:36, 20F
→
06/11 19:37, , 21F
06/11 19:37, 21F
→
06/11 19:58, , 22F
06/11 19:58, 22F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章