当前位置: 首页 > news >正文

怎么做网站 先简单的聊一下怎样给网站做后台

怎么做网站 先简单的聊一下,怎样给网站做后台,有免费的接码平台吗,比较出名的网站域名文章目录 概述介绍函数原型与参数 拓展:fcntl改文件属性总结 概述 摘要: fcntl函数是Linux系统编程中一个重要的函数,用于对文件描述符进行各种控制操作。本文将详细介绍fcntl函数的原型、各个参数的用法,以及阻塞和非阻塞模式切换的方法&am…

文章目录

  • 概述
  • 介绍
    • 函数原型与参数
  • 拓展:fcntl改文件属性
  • 总结

概述

摘要: fcntl函数是Linux系统编程中一个重要的函数,用于对文件描述符进行各种控制操作。本文将详细介绍fcntl函数的原型、各个参数的用法,以及阻塞和非阻塞模式切换的方法,并提供相应的代码示例,帮助读者更好地理解和应用fcntl函数。

介绍

fcntl函数是Linux系统编程中的一个文件控制函数,用于对文件描述符进行各种操作,如文件锁定、文件描述符状态设置等。它的原型如下:

函数原型与参数

#include <fcntl.h>
int fcntl(int fd, int cmd, ...);

fcntl函数接受三个参数:文件描述符fd、控制命令cmd和可选的第三个参数arg。

参数用法

文件描述符fd:需要进行控制的文件描述符。

控制命令cmd:决定了具体的操作。常见的命令有:

F_GETFL:获取文件描述符的状态标志。
F_SETFL:设置文件描述符的状态标志。
F_GETFD:获取文件描述符的文件执行标志。
F_SETFD:设置文件描述符的文件执行标志。
F_SETLK:设置文件锁。
F_GETLK:获取文件锁状态。
可选的第三个参数arg:用于某些控制命令的附加参数,具体取决于cmd的值。

拓展:fcntl改文件属性

fcntl用来改变一个【已经打开】的文件的 访问控制属性
重点掌握两个参数的使用, F_GETFL,F_SETFL

int fcntl(int fd, int cmd, ...)

fd 文件描述符
cmd 命令,决定了后续参数个数

int flgs = fcntl(fd,  F_GETFL);flgs |= O_NONBLOCKfcntl(fd,  F_SETFL, flgs);获取文件状态: F_GETFL设置文件状态: F_SETFL

终端文件默认是阻塞读的,这里用fcntl将其更改为非阻塞读

1.#include <unistd.h>  
2.#include <fcntl.h>  
3.#include <errno.h>  
4.#include <stdio.h>  
5.#include <stdlib.h>  
6.#include <string.h>  
7.  
8.#define MSG_TRY "try again\n"  
9.  
10.int main(void)  
11.{  
12.    char buf[10];  
13.    int flags, n;  
14.  
15.    flags = fcntl(STDIN_FILENO, F_GETFL); //获取stdin属性信息  
16.    if(flags == -1){  
17.        perror("fcntl error");  
18.        exit(1);  
19.    }  
20.    flags |= O_NONBLOCK;  
21.    int ret = fcntl(STDIN_FILENO, F_SETFL, flags);  
22.    if(ret == -1){  
23.        perror("fcntl error");  
24.        exit(1);  
25.    }  
26.  
27.tryagain:  
28.    n = read(STDIN_FILENO, buf, 10);  
29.    if(n < 0){  
30.        if(errno != EAGAIN){          
31.            perror("read /dev/tty");  
32.            exit(1);  
33.        }  
34.        sleep(3);  
35.        write(STDOUT_FILENO, MSG_TRY, strlen(MSG_TRY));  
36.        goto tryagain;  
37.    }  
38.    write(STDOUT_FILENO, buf, n);  
39.  
40.    return 0;  
41.}  

编译运行,结果如下:
在这里插入图片描述

可以看到,是非阻塞读取。

总结

通过详细介绍fcntl函数的原型、参数用法以及阻塞和非阻塞模式切换的方法,我们希望读者能够更好地理解和应用fcntl函数

http://www.yayakq.cn/news/529842/

相关文章:

  • 上网建站推广wordpress 获取自定义字段
  • 一个wordpress程序搭建多个网站海外域名购买
  • 广州3d网站开发深圳网站公司招聘
  • 色彩 导航网站功能型网站建设需要多少钱
  • 网站策划书包括哪些内容文学投稿网站平台建设
  • 上海平面网站网络营销今后的发展趋势
  • 怎么做查成绩网站网站建设优化项目
  • 德州口碑好的网站制作公司手机上如何制作自己的网站
  • 商务网站的建设台州网站建设找哪家好点
  • 网站策划书需求分析大学学术建设专题网站
  • 长沙网站排名优化贵州 网站建设
  • gta5买房子网站建设网站推广主要用的软件
  • 晓风彩票网站建设源代码授权新媒体营销的发展趋势
  • 卑鄙的网站开发公司wordpress code snippets
  • 网站导航结构的优化纯静态网站索引怎么做
  • 设置 wap网站dw网页制作源代码
  • 安徽省住建厅网站官网扁平化设计网站建设
  • 网上书店网站建设策划书深圳的网站建设的公司
  • 桂林生活网站seo什么意思简单来说
  • 学怎么做建筑标书哪个网站购物网站的设计
  • asp.net企业网站源码网站用什么软件做
  • 小程序平台开发多少钱网站的seo怎么做
  • 建网站如何收费广州软件学院
  • 网站适合移动端宜昌建设厅网站
  • 汕头做网站网站设计制作视频
  • 广告公司 网站制作桃城网站建设
  • .net网站开发实训报告免费的crm系统
  • 美食网站模板下载电商公司简介模板
  • 嘉兴自助建网站粮食网站建设的背景及意义
  • 怎么减少wordpress网站cpu占用网站建设 海拉尔