`

linux编程中使用errno

阅读更多

查看函数int creat(const char * pathname, mode_tmode);
返回值 creat()会返回新的文件描述词,若有错误发生则会返回-1,并把错误代码设给errno。
EEXIST 参数pathname所指的文件已存在。
EACCESS 参数pathname 所指定的文件不符合所要求测试的权限
EROFS 欲打开写入权限的文件存在于只读文件系统内
EFAULT 参数pathname 指针超出可存取的内存空间
EINVAL 参数mode 不正确。
ENAMETOOLONG 参数pathname太长。
ENOTDIR 参数pathname为一目录
ENOMEM 核心内存不足
ELOOP 参数pathname有过多符号连接问题。
EMFILE 已达到进程可同时打开的文件数上限
ENFILE 已达到系统可同时打开的文件数上限


假如创建失败了,返回了-1,我应该调用什么方法才能知道发生了 哪种错误????

答案:

首先#include <errno.h>
然后就能用errno这个全局变量了。

分享到:
评论

相关推荐

    Linux-Socket-服务器编程实例.pptx

    Linux Socket服务器端编程实例 #include&lt;string.h&gt; string.h是预先定义好的函数库头文件,里面定义了一些字符串函数,如bzero等,添加这个头文件后才可以使用和字符串相关的操作函数 4 Linux-Socket-服务器编程实例...

    linux网络编程(编程初步)

    #include &lt;errno.h&gt;; #include ; #include ; #include ; #include ; #include ; int main(int argc, char *argv[]) { int sockfd,new_fd; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int sin...

    linux网络编程学习笔记

    序使用 这个协议的时候,网络可以保证我们的客户端和服务端的连接是可靠的,安全的. UDP(User Datagram Protocol)用户数据报协议是一种非面向连接的协议,这种协议并不能保证 我们的网络程序的连接是可靠的,所以我们...

    15章基于C++从0到1手写Linux高性能网络编程框架

    深度掌握网络编程是逆袭成为高阶开发者的秘密法宝,所以今天给大家深度讲解基于C++的Linux高性能事件驱动网络编程框架的设计方法及技巧,我将采取渐进迭代的授课方式,配合C++11新特性的使用,以及网络编程理论的...

    linux系统编程之线程.zip

    由于pthread_create的错误码不保存在errno中,因此不能直接用perror(3)打印错误信息,可以先用strerror(3)把错误码转换成错误信息再打印。如果任意一个线程调用了exit或_exit,则整个进程的所有线程都终止,由于从...

    Linux网络编程 Socket UDP形式(包括服务器端和接收端)

    #include&lt;errno.h&gt; #include #include #include #include #include #define MYPORT 3490 //设定端口为3490 #define BACKLOG 10 main() { int sockfd,new_fd; struct sockaddr_in my_addr; //服务器网络地址结构体 ...

    第3章_linux多线程编程

    Linux多线程编程 1、多线程模型在单处理器模型和多处理器系统上,都能改善响应时间和吞吐量。 2、线程包含了表示进程内执行环境必须的信息,包括线程ID、一组寄存器、栈、调度优先级、策略、信号屏蔽字、errno变量、...

    linux网络编程用到的网络函数详解用和使用示例

    TCP:(Transfer Control Protocol)传输控制协议是一种面向连接的协议, 当我们的网络程序使用这个协议的时候,网络可以保证我们的客户端和服务端之间的传输是可靠的。UDP:(User Datagram Protocol)用户数据报协议是一...

    详解Linux的SOCKET编程

    本篇文章对Linux的SOCKET编程进行了详细解释,文章后面分享了一个编程实例供大家学习。 1. 网络中进程之间如何通信 进程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的...

    宋劲彬的嵌入式C语言一站式编程

    目录 历史 前言 I....1. 程序的基本概念 1. 程序和编程语言 2. 自然语言和形式语言 ...3. 在Linux C编程中使用Unicode和UTF-8 B. GNU Free Documentation License Version 1.3, 3 November 2008 参考书目 索引

    详解Linux Socket编程(不限Linux)

    我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那...

    linux下c语言的多线程编程

    我们在写linux的服务的时候,经常会用到linux的多线程技术以提高程序性能  多线程的一些小知识: 一个应用程序可以启动若干个线程。 线程(Lightweight Process,LWP),是程序执行的最小单元。 一般一个最简单的...

    Linux下C语言实现C/S模式编程

    由标题可知,这篇文章主要讲如何用C语言实现一个C/S模式的程序。 主要功能:时间回送。 客户机发出请求,服务器响应时间,并返回...#include &lt;errno&gt; #include &lt;time&gt; #include #include #include &lt;arpa&gt; void cli

    网络编程函数(练习与实例)

    #include &lt;errno.h&gt;; #include ; #include ; #include ; #include ; #include ; int main(int argc, char *argv[]) { int sockfd,new_fd; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int sin...

    High-Performance-Linux-Server-Programming:服务器编程学习

    失败返回 -1 并设置 errno。 pipe() 函数创建的两个文件描述符 fd[0] 和 fd[1] 分别构成管道的两端,往 fd[1] 写入的数据可以从 fd[0] 。并且, fd[0] 只能用于从管道读出数据, fd[1] 则只能用于往管道写入数据,而...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    Table of Contents Header Files The #define Guard Header File Dependencies Inline Functions The -inl.h Files Function Parameter Ordering Names and Order of Includes Scoping Namespaces Nested Classes ...

    生产者消费者程序设计.doc

    实验目的 通过编写"生产者消费者"问题的实验,读者可以进一步熟悉Linux 中多线程编程,并且掌握用信号量处理线程间的同步互斥问题。 2.实验内容 "生产者消费者"问题描述如下。 有一个有限缓冲区和两个线程:生产者...

    对Python中type打开文件的方式介绍

    在Windows命令行中使用:!type ch06\ex1.csv 需要作说明的是: 1.Windows与Linux不同的是win用的“\”添加子目录,而Linux使用“/”添加; 2.win下也可以使用绝对路径进行访问,在所在目录下安如图操作方式进行复制...

    一个进程池的服务器程序

    #include &lt;errno.h&gt; #include #include #define PRECHILD 5 #define MAXCHILD 50 #define BUFSIZE 4096 #define PIDPATH "pid" #define head503 "HTTP/1.1 503 Service unavailable\r\n" #define head404 ...

    Pycharm以root权限运行脚本的方法

    socket.error: [Errno 1] Operation not permitted 网上有一些修改文件使得Pycharm运行脚本时可以不需要密码的以root权限运行。 但是大多操作雷同,估计是复制粘贴的,而且下方有几条评论表示IDE报错。 在跟随他操作...

Global site tag (gtag.js) - Google Analytics