程序中的两种出错处理:
第一种: 用fprintf
2: #include <string.h>
3: #include <errno.h>
4: #include <stdlib.h>
5:
1: #include <stdio.h>
6: int main(void)
7: {
8: FILE *fp;
9:
10: if((fp = fopen("1.c", "r")) == NULL)
11: {
12: fprintf(stderr, "fopen error! %s", strerror(errno));
13: exit(-1);
14: }
15: return 0;
16: }
可以看出,这种输出结果不会自动换行。而且参数较多。
第二种、perror
1: #include <stdio.h>
2: #include <stdlib.h>
3:
4: int main(void)
5: {
6: FILE *fp;
7:
8: if((fp = fopen("1.c", "r")) == NULL)
9: {
10: perror("fopen error!");
11: exit(-1);
12: }
13: return 0;
14: }
可以看出:用perror的输出会自动换行,且自动加上一个冒号和错误提示。推荐!