C语言函数大全--d开头的函数
C语言函数大全
本篇介绍C语言函数大全–d开头的函数
1. detectgraph
1.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
void detectgraph(int *graphdriver, int *graphmode); | 通过检测硬件确定图形驱动程序和模式 |
1.2 演示示例
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>/* names of the various cards supported */
char *dname[] = {"requests detection","a CGA","an MCGA","an EGA","a 64K EGA","a monochrome EGA","an IBM 8514","a Hercules monochrome","an AT&T 6300 PC","a VGA","an IBM 3270 PC"
};int main(void)
{/* returns detected hardware info. */int gdriver, gmode, errorcode;/* detect graphics hardware available */detectgraph(&gdriver, &gmode);/* initialize graphics and local variables */initgraph(&gdriver, &gmode, "");/* read result of detectgraph call */errorcode = graphresult();if (errorcode != grOk) /* an error occurred */{printf("Graphics error: %s\n", grapherrormsg(errorcode));printf("Press any key to halt:");getch();exit(1); /* terminate with an error code */}/* display the information detected */printf("You have [%s] video display card.\n", dname[gdriver]);printf("Press any key to halt:");getch();return 0;
}
1.3 运行结果

2. difftime
2.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
double difftime(time_t time2, time_t time1); | 计算两个时刻之间的时间差 |
2.2 演示示例
#include <stdio.h>
#include <time.h>int main(void)
{time_t first, second; // time_t 相当于 longfirst = time(NULL); // Gets system time getchar();second = time(NULL); // Gets system time again printf("The difference is: %lf seconds\n", difftime(second, first));return 0;
}
2.3 运行结果

3. div
3.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
div_t (int number, int denom); | 将两个整数相除, 返回商和余数 |
3.2 演示示例
#include <stdio.h>
#include <math.h>int main(void)
{div_t x = div(10,3);// 商 和 余数printf("10 div 3 = %d remainder %d\n", x.quot, x.rem);return 0;
}
3.3 运行结果

4. drawpoly
4.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
void drawpoly(int numpoints, int *polypoints); | 画多边形 |
4.2 演示示例
#include <graphics.h>
#include <stdio.h>int main(void)
{// request auto detectionint gdriver = DETECT, gmode, errorcode;int maxx, maxy;// our polygon arrayint poly[10];// initialize graphics and local variablesinitgraph(&gdriver, &gmode, "");// read result of initializationerrorcode = graphresult();if (errorcode != grOk) // an error occurred{printf("Graphics error: %s\n", grapherrormsg(errorcode));printf("Press any key to halt:");getch();// terminate with an error codeexit(1);}maxx = getmaxx();maxy = getmaxy();poly[0] = 20;poly[1] = maxy / 2;poly[2] = maxx - 20;poly[3] = 20;poly[4] = maxx - 50;poly[5] = maxy - 20;poly[6] = maxx / 2;poly[7] = maxy / 2;// drawpoly doesn't automatically close the polygon, so we close it.poly[8] = poly[0];poly[9] = poly[1];// draw the polygondrawpoly(5, poly);// clean upgetch();closegraph();return 0;
}
4.3 运行结果

5. dup
5.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int dup(int handle); | 复制文件描述符;若成功为新的文件描述,若出错为-1 |
dup 返回的新文件描述符一定是当前可用文件描述中的最小数值。
5.2 演示示例
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <fcntl.h>
#include <io.h>void flush(FILE *stream);int main(void)
{FILE *fp;char msg[] = "This is a test";/* create a file */fp = fopen("STU.FIL", "w");/* write some data to the file */fwrite(msg, strlen(msg), 1, fp);int handle;handle = open("temp.txt", _O_RDWR | _O_CREAT, _S_IREAD | _S_IWRITE);printf("file hanlde : %d\n", handle);printf("Press any key to flush STU.FIL:");getchar();/* flush the data to STU.FIL without closing it */flush(fp);printf("\nFile was flushed, Press any key to quit:");getchar();return 0;
}void flush(FILE *stream)
{int duphandle;/* flush TC's internal buffer */fflush(stream);/* make a duplicate file handle */duphandle = dup(fileno(stream));printf("duplicate file hanlde : %d", duphandle);/* close the duplicate handle to flush the DOS buffer */close(duphandle);
}
5.3 运行结果

6. dup2
6.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int dup2(int oldhandle, int newhandle); | 复制文件描述符;若成功为新的文件描述,若出错为-1。 |
dup2 可以用 newhandle 参数指定新的描述符数值。如果 newhandle 已经打开,则先关闭。若 oldhandle = newhandle,则 dup2 返回 newhandle,而不关闭它。
6.2 演示示例
#include <sys\stat.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>int main(void)
{#define STDOUT 1int handle, oldstdout;char msg[] = "This is a test1";/* create a file */handle = open("STU.FIL", O_CREAT | O_RDWR, S_IREAD | S_IWRITE);printf("open file handle : %d\n", handle);/* create a duplicate handle for standard output */oldstdout = dup(STDOUT);printf("dup file handle : %d", oldstdout);/*redirect standard output to STU.FIL by duplicating the file handle onto the file handle for standard output.*/dup2(handle, STDOUT);/* close the handle for STU.FIL */close(handle);/* will be redirected into STU.FIL */write(STDOUT, msg, strlen(msg));/* restore original standard output handle */dup2(oldstdout, STDOUT);/* close duplicate handle for STDOUT */close(oldstdout);return 0;
}
6.3 运行结果

参考
- [API Reference Document]
相关文章:
C语言函数大全--d开头的函数
C语言函数大全 本篇介绍C语言函数大全–d开头的函数 1. detectgraph 1.1 函数说明 函数声明函数功能void detectgraph(int *graphdriver, int *graphmode);通过检测硬件确定图形驱动程序和模式 1.2 演示示例 #include <graphics.h> #include <stdlib.h> #incl…...
基于springboot实现福聚苑社区团购演示【项目源码】
基于springboot实现福聚苑社区团购演示开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&#…...
动静态库的制作
文章目录:什么是程序库?动态链接和静态链接动静态库的认识静态库的创建与使用创建使用动态库的创建与使用创建使用什么是程序库? 程序库:一般是软件作者为了发布方便、替换方便或二次开发目的,而发布的一组可以单独与应…...
QMS-云质-质量软件-客诉,为什么应该用两段式来处理
-云质QMS原创文章,转载请注明来源- 客户满意度是决定企业是否能够基业长青的关键因素之一。 如果客诉处理的不好,会极大影响客户的满意程度。 通常处理客诉分为两个阶段。 第一个阶段是快反遏制,想方设法快速答复和解决客户提出的问题&…...
JS:关于邮箱的正则表达式及规则
常用正则表达式—邮箱(Email) 要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式。我尝试过在网上找出一个标准的格式,但是很遗憾我没有找到。我也尝试使用RFC标准来判断邮箱的格式,但是也没有结果。网上些博…...
两句话,ChatGPT帮我写一个打飞机的游戏
大家好,我是全村的希望今天的主题是让 chatGPT 来帮我们写一个打飞机的游戏记得我刚学 Python 的时候,看的那本很经典的入门书《Python 编程:从入门到实践》,里面就有小项目就是教你编写一个打飞机的游戏我那时候是对着书一个一个…...
计算机图形学14:三维图形的投影变换
作者:非妃是公主 专栏:《计算机图形学》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、三维图形的投…...
【ChatGPT4】王老师零基础《NLP》(自然语言处理)第二课
我的已经在起、点开了书《王老师带我成为救世主》,那个更新及时 (1)---------------------------------------------------------------------------------------- 我: 1我/喜欢/吃/苹果,因为/它/们/很/好吃。 2 Th…...
设计模式之中介者模式在前端的应用
文章目录中介者模式在前端的应用场景1.实现组件之间的松耦合2. 实现异步请求的协同3. 实现事件驱动的编程模型4. 实现复杂交互的协调总结中介者模式在前端的应用场景 中介者模式是一种常见的设计模式,它可以将对象之间的通信集中处理,从而提高系统的可维…...
2023年还能入行程序员吗?工作3年以上的黑马老学员怎么说?
很多人觉得,毕业3年,不过是毕业第1年的重复,键盘Ctrl、C和V键磨损更严重了。妥妥属于光涨年龄,不涨经验;只涨体重,不涨工资…… 他们不理解,为什么同样的起跑线,有人发展神速&#…...
接收机的噪声来源与噪声分析
噪声分类 射频接收机中的噪声主要可以分为两类:内部噪声和外部噪声。 内部噪声 内部噪声主要来自于接收机内部的放大器、混频器、本振等元件所产生的噪声。根据不同的产生机制,内部噪声可以分为以下几类: a. 电感噪声:由于电感…...
Android FrameWork——SystemServer
Android系统在启动的时候有两个非常重要的进程,一个是Zygote,另一个就是system_server。SystemServer是系统用来启动service的入口,比如我们常用的AMS,WMS,PMS等等都是由它创建的。 system_server进程的启动 system_…...
婴儿推车ASTMF883测试
1.cpc认证是总称,cpc认证下边有很多的标准,常见的有ASTM F963(铅含量)、CPSIA(邻苯8P)、ASTM F833(婴儿车)等; 2.婴儿车ASTM认证是什么 2019年8月2日,美国消…...
射频接收机概述
接收机架构 射频接收机架构是指电子设备中用于接收无线电信号的部分。它通常由前置放大器、中频放大器、混频器、局部振荡器和带通滤波器等组成。以下是一个基本的射频接收机架构: 前置放大器:前置放大器的作用是放大接收天线接收到的微弱无线电信号&am…...
实验三Numpy知识点总结
熟悉和使用NumPy模块 import numpy as np一、完成下列数组操作与运算。 (1)创建2行4列的数组arr_a,数组中的元素为0至7,要求用arange()函数创建。 arr_anp.arange(8) arr_a.resize(2,4) print(arr_a)[[0 1 2 3][4 5 6 7]]&…...
Code Review时学到的技巧之isAssignableFrom
🍊 Java学习:Java从入门到精通总结 🍊 深入浅出RocketMQ设计思想:深入浅出RocketMQ设计思想 🍊 绝对不一样的职场干货:大厂最佳实践经验指南 📆 最近更新:2023年4月1日 …...
IP协议以及相关技术
这里写目录标题前言正文IP基本认识IP的作用IP和MAC的关系IP地址的基础知识IP地址定义IP地址分类(IPv4)无分类IP地址CIDR子网掩码IPv6基础知识相关技术DNS域名解析ARPDHCPNATICMPIGMP总结参考连接前言 大家好,我是练习两年半的Java练习生,今天我们来讲一…...
SpringBoot 项目使用 Sa-Token 完成登录认证
一、设计思路 对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验: 如果校验通过,则:正常返回数据。如果校验未通过,则:抛出异…...
javaScript 蓝桥杯----梅楼封的一天
目录一、介绍二、目标1.函数入参要求:2.出参要求:三、输出示例1.示例一2.示例二3.示例三4.示例四5.示例五四、待完善代码五、知识点1.正则表达式2.split方法3.test方法4.match方法5.matchAll方法6.slice方法7.replace() 方法8.repeat方法六、答案一、介绍…...
谷粒商城笔记+踩坑(18)——购物车
目录 一、环境搭建 1.1、购物车模块初始化 1.2、动静资源处理 1.3、页面跳转配置 二、数据模型分析 2.1、购物车需求 2.1.1、离线购物车和在线购物车需求、数据库选择redis 2.1.2、购物车数据结构 2.2、模型类抽取,Cart和CartItem 2.3、Redis依赖和配置、…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
