我在这里查看errno.h的源代码:http: //unix.superglobalmegacorp.com/Net2/newsrc/sys/errno.h.html
它表明errno被声明为extern,当我们使用errno时,我们可以直接为它赋值.这意味着errno是在其他地方定义和分配的,确实在哪里定义?
如何获取recv()
套接字通信recv()
返回的错误号或错误字符串,返回-1
读取大小,这意味着发生了一些错误.我想知道错误的具体原因.所以我怎么能得到它.
有人可以解释一下,为什么文件开放不成功?为什么打印"文件"会给-1?这有问题char *source
吗?
int opf(char *source){
int file;
file=open(source,O_RWR);
printf("%d",file);
}
Run Code Online (Sandbox Code Playgroud)
是否可以这样做:文件在另一个目录中,所以
int opf(char *source){
int file;
file=open("some_directory/ %s",source,O_RWR);
printf("%d",file);
}
Run Code Online (Sandbox Code Playgroud)
在这里,我得到"从没有强制转换的指针生成整数"错误.我尝试了很多不同的东西,但我想问题在于我没有正确掌握这些概念.
open()的返回值为-1,在尝试使用perror()查找错误时,输出为"File exists".
如何查找错误或文件未打开的原因.