在我的程序fprintf()
中返回-1,表示有錯誤。我怎樣才能找出實際的錯誤是什麼?如何找到fprintf()的實際錯誤?
回答
#include <errno.h>
#include <string.h>
...
rc = fprintf(...)
if (rc < 0)
printf("errno=%d, err_msg=\"%s\"\n", errno,strerror(errno))
你不應該自己聲明'errno',只需要包含'
點了。 libc操作系統依賴。我認爲在舊的Linux libcs中,你必須聲明它爲extern tho。糾正。 – user237419 2011-04-20 08:01:04
Err,adirau,這甚至是_worse._「#ifndef」只適用於預處理器宏而不是變量。由於ISO要求'errno.h'定義一個'errno''變量「,所以最好拋棄整個'#ifdef'塊。我爲你解決它,希望你不介意。 – paxdiablo 2011-04-20 08:19:01
您需要檢查errno
的值。大多數庫函數會將其設置爲特定的錯誤代碼,您可以在errno.h
中查找它或使用perror
或strerror
來獲取用戶可讀的版本。
例如:
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main (void) {
FILE *fh = fopen ("junk", "w");
if (fh != NULL) {
if (fprintf (fh, "%s", "hello") < 0)
fprintf (stderr, "err=%d: %s\n", errno, strerror (errno));
fclose (fh);
}
return 0;
}
- 1. 錯誤處理。如何將實際收到的錯誤傳回
- 2. 發生JavaScript錯誤時找到實際的源文件行號?
- 3. 如何找到BFS找到的實際路徑?
- 4. 隱含的實際錯誤
- 5. fprintf in文件未找到
- 6. grails輸出「發生錯誤」,如何顯示實際錯誤?
- 7. java.lang.reflect.InvocationTargetException - 確定實際錯誤?
- 8. Matlab:錯誤使用fprintf
- 9. malloc /總線錯誤與fprintf
- 10. 文件處理fprintf錯誤
- 11. 如何找出JFrame的實際大小?
- 12. 如何找到POEdit錯誤
- 13. 找到zip的實際文件名
- 14. 需要在Internet Explorer腳本錯誤中找到line/char的實際位置?
- 15. 如何找到實際所需的寶石套裝
- 16. 如何找到最長增加子序列的實際序列?
- 17. 如何找到與javascript有關的實際鏈接
- 18. Accept-Encoding如何找到文件實際上是壓縮的
- 19. 我如何找到錄像(.AVI .MP4)實際錄製的日期?
- 20. 如何找到百分比寬度的實際像素寬度
- 21. 如何找到除了R.id之外的實際ID?
- 22. JavaScript,RegEx - 如何獲取實際找到的字符串
- 23. 統一實際分佈的C++錯誤?
- 24. 如何獲取HttpResponseException後面的實際錯誤?
- 25. 如何獲取Codeigniter中的實際錯誤消息?
- 26. 如何在Python中寫出錯誤異常(以及實際錯誤)的行
- 27. fprintf段錯
- 28. 打印到標準錯誤時檢查fprintf時出錯
- 29. 找我的實際DNS
- 30. 如何找到導致錯誤的行
它是在線42 – AProgrammer 2011-04-20 07:02:26
第36字符只是爲了解釋@AProgrammer的諷刺(和有趣)的答案:當你問這個是關係到一個問題你的代碼,它實際上**更有效率地發佈實際的代碼與你的問題。我們顯然無法猜出您輸入的內容。 – ereOn 2011-04-20 07:14:56
36是什麼意思? :) – user237419 2011-04-20 07:16:35