c语言库函数中有error函数吗?

Python09

c语言库函数中有error函数吗?,第1张

c语言标准库函数里没有error函数。C语言对异常的处理确实不够好,大多的时候都需要人工除错。

有几个类似的函数,分别处理各种情况下的异常:

ferror函数:在调用各种输入输出函数(如

putc.getc.fread.fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查。

它的一般调用形式为

ferror(fp);如果ferror返回值为0(假),表示未出错。如果返回一个非零值,表示出错。应该注意,对同一个文件

每一次调用输入输出函数,均产生一个新的ferror函

数值,因此,应当在调用一个输入输出函数后立即检

查ferror函数的值,否则信息会丢失。在执行fopen函数时,ferror函数的初始值自动置为0。在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经重新设置了errno的值。perror函数只是将你输入的一些信息和现在的errno所对应的错误一起输出。

perror函数:

用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数

s

所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno

的值来决定要输出的字符串。

strerror函数:用来

从错误号码

用英文表达的错误内容,返回指针,指向这段英文字符串。如果你不知道错误号,那么在出错发生时,及时用

errno

的当前值

作参数,打印这段字符串。

#include <stdio.h>

int main(){

char s[11]

int i

for(i=0i<10i++)

{

scanf("%c",&s[i])

}

s[i]='\0'

printf("%s\n",s)

return 0

}

调试后的代码,你的出错点可能在返回值上,我用vc6.0编译器是没问题的。

C语言错误 error: expected declaration or statement at end of input,是代码错误造成的,解决方法如下:

1、首先打开Dev C+,如果编写的代码正确,运行时会提示没有错误(Error)和警告(Warning),如下图所示。

2、对于 VS、GCC、Xcode 等,如果代码没有错误,只会显示“生成成功”,不会显示“0个错误,0个警告”,只有代码真的出错了,它们才会显示具体的错误信息。错误(Error)表示程序不正确,不能正常编译、链接或运行,必须要纠正。

3、警告(Warning)表示可能会发生错误(实际上未发生)或者代码不规范,但是程序能够正常运行,有的警告可以忽略,有的要引起注意。错误和警告可能发生在编译、链接、运行的任何时候。puts("C")最后忘记写分号,就会出现错误。

4、可以看出,C-Free 的错误提示信息比较少,不方便程序员纠错。

5、VC 和 VS 的错误信息类似,只是中英文的差别。