C精华
文章平均质量分 69
流浪孤儿
这个作者很懒,什么都没留下…
展开
-
gmtime与localtime的区别
目录gmtime函数linux环境下:window环境下localtime函数gmtime函数gmtime转换的时间是UTL时间,与北京时间相差了8个小时如果你想要得到北京时间,不建议你将gmtime转换后的时间直接加上八个小时linux环境下:执行结果:发现了吗?这个时间形式上是不规范的window环境下#pragma warning(disable:4996)#include<iostream>#include<ctim原创 2022-03-20 02:18:46 · 2295 阅读 · 0 评论 -
贪吃蛇--[纯C实现]--[一步一步的讲解]--【有音乐】
目录一、游戏说明1.1游戏按键说明1.2计分系统二、游戏运行2.1游戏效果展示2.2一个报错的纠正2.3游戏代码三、游戏框架构建3.1游戏界面的大小3.2蛇头和蛇身3.2.1蛇头3.2.2蛇身3.3标记游戏区3.3.1存储游戏区的各个位置是什么3.3.2 用宏来使某些数字具有特殊意义3.4菜单栏的设置四.隐藏光标的设置4.1光标信息的结构体成员4.2隐藏光标的实现4.3GetStdHandle函数使用介绍4.4 ...原创 2021-12-02 21:07:04 · 34780 阅读 · 41 评论 -
PlaySound函数的使用介绍
1用法PlaySound是windows中用来播放声音的API函数,函数接口如下:BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound)2 参数其中pszSound用来指定要播放的文件,可以是资源名或者音乐文件的路径,若为空(NULL)则停止正在播放的声音。PlaySound只能播放WAV文件。hmod一般设置为空(NULL),除非你要指向资源标识符(即fdwSound被定义为SND_RESOURCE)。fdwS...原创 2021-12-02 20:59:35 · 8027 阅读 · 0 评论 -
SetConsoleTextAttribute函数的使用介绍
目录1、函数接口2、作用3、参数4、测试代码5、直接使用数字进行配色说明:1、函数接口 BOOL WINAPI SetConsoleTextAttribute( _In_ HANDLE hConsoleOutput, _In_ WORD wAttributes ); 头文件<windows.h>2、作用SetConsoleTextAttribute()函数是一个设置控制台字体颜...原创 2021-12-02 20:49:31 · 1630 阅读 · 0 评论 -
system函数的详细使用
函数接口 _DCRTIMP int __cdecl system( _In_opt_z_ char const* _Command ); system函数已经被收录在标准c库中,头文件为<stdlib.h>作用执行系统命令调用命令处理器来执行命令。如果命令是空指针,则该函数只检查是否有命令处理器可以被此函数使用。命令非空则调用命令的效果取决于系统和库的实现,并可能导致程序以非标准的方式运行或终止。补...原创 2021-12-02 20:36:38 · 11545 阅读 · 0 评论 -
SetConsoleCursorPosition函数使用介绍
目录函数接口作用:测试代码测试结果函数接口 BOOL WINAPI SetConsoleCursorPosition( _In_ HANDLE hConsoleOutput, _In_ COORD dwCursorPosition ); 作用:实现控制台光标定位测试代码 #include<stdio.h> #include<windows.h&g...原创 2021-12-02 20:23:34 · 3852 阅读 · 0 评论 -
SetConsoleCursorInfo函数使用介绍
函数的接口 BOOL WINAPI SetConsoleCursorInfo( _In_ HANDLE hConsoleOutput, _In_ CONST CONSOLE_CURSOR_INFO* lpConsoleCursorInfo ); 作用是用来检索有关指定控制台屏幕缓冲区的光标大小和可见性的信息返回值如果函数成功,返回值为非零。如果函数失败,返回值为零。要获得扩...原创 2021-12-02 20:19:36 · 1705 阅读 · 0 评论 -
GetStdHandle函数使用方法
目录函数的接口作用参数返回值函数的接口 HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle ); //WINAPI不是返回值的类型,HANDLE才是,WINAPI是系统调用约定 作用该函数用于取得指定的标准设备的句柄(标准输入,标准输出或标准错误)。参数nStdHandle标准句柄。该参数可以是以下值之一。 值 含义 ...原创 2021-12-02 20:17:52 · 3457 阅读 · 0 评论 -
CONSOLE_CURSOR_INFO类型详解
光标信息的结构体类型 typedef struct _CONSOLE_CURSOR_INFO { DWORD dwSize; BOOL bVisible; } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; 成员类型其中typedef unsigned long DWORD;typedef int BOOL;成员代表的含义...原创 2021-12-02 20:13:18 · 5462 阅读 · 2 评论 -
系统调用约定
常见的函数调用约定cdecl,stdcall,fastcall,thiscall,naked call简单介绍 HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle ); //WINAPI不是返回值的类型,HANDLE才是 像这种函数的返回值我们如果不知道WINAP是系统调用约定的话就很难看懂这函数的返回值为什么这么奇怪#define WINAPI __stdcall默...原创 2021-12-02 20:06:00 · 516 阅读 · 0 评论 -
C语言文件操作详解
一、文件的概念文件的分类文件是一组相关数据的集合。在C程序设计中,按文件的内容可以分为两类:一类是程序文件,它是程序的源代码,比如图中test..c就是程序文件,当然windows下通过编译器产生的目标文件(.obj)、程序文件(.exe)都是程序文件另一类是数据文件,它是程序运行时需要的原始数据及输出的结果,比如如图中的data.txt这两类文件都保存在磁盘上,随时可以使用。程序文件的操作自然不需要讲解了,这里讲的是关于数据文件的操作,即如何在程序文件中通过相关的函数管理.原创 2021-11-20 15:06:17 · 2072 阅读 · 1 评论 -
详解结构体内存对齐
结构体内存对齐的概念定义一个结构体变量struct S{ char c1;//1 int i;//4 char c2;//1};int main() printf("%d\n", sizeof(struct S)); return 0;}请问sizeof(struct S)是多大呢?有小伙伴会说无非就是把内部成员各自的大小加起来:1+4+1=6,因此答案就是6,可惜答案不是这个,而是12。为啥相差这么大呢?因为结构体内的成员之间在内存中的位置并不是紧挨在一.原创 2021-11-18 17:12:18 · 740 阅读 · 1 评论 -
(rand函数)随机数的生成(C语言)
目录rand()函数函数原型:初步使用生成0到99的随机数再次运行发现问题查看rand()函数的官方文档srand()函数srand的官方介绍初步使用srand()再次运行发现问题解决问题:time函数时间戳rand()函数生成随机数使用rand()函数函数原型:int rand (void);头文件<stdlib.h>初步使用目前该“随机数”貌似成功生成生成0到99的随机数...原创 2021-11-17 14:53:26 · 1797 阅读 · 0 评论 -
C语言#define预处理详解
目录一、使用#define定义标识符常量语法1:常量与常变量的不同:注意:语法2:二、#define来定义带有参数的宏三、C语言给我们定义好的一些标识符常量一、使用#define定义标识符常量语法1:#define MAX 100注意使用#define末尾不需要带;MAX是一个常量,是使用#define定义的一个标识符常量!!!我为什么要在这里强调这是一个常量呢?因为它和普通常量一样不可被修改大家可能会疑惑使用const修饰的变量不也是...原创 2021-11-16 17:55:32 · 3048 阅读 · 0 评论 -
C语言之qsort函数进行排序
目录qsort()介绍qsort()函数定义qsort()函数的使用对整型数据进行排序排序结构体数据使用冒泡排序模拟实现qsort()函数qsort()介绍qsort()为库函数全称:quick sort快速排序,因此qsort函数用的是快速排序,头文件为stdlib.h用qsort()实现排序功能,qsort()可以对整型数组,字符串数组,结构体数组等任意数据进行排序qsort()函数定义其中cmp是一个函数指针,函数指针的意思是指向一个...原创 2021-10-16 17:57:43 · 1159 阅读 · 0 评论 -
浮点数与整型在内存中的存储比较
目录整型家族分类各类型所占字节数windows下linux下浮点型家族数据类型还有构造类型、指针类型以及void空类型整型在内存中的存储规则原码、反码、补码转换规则补码转换到原码原码转换到补码其中补码转为原码可以这样:为什么整型在内存中存储的是补码查看整型在内存中的存储什么是大端存储、小端存储?为什么有大端和小端:浮点数在内存中的存储规则引出问题分析问题float类型在内存中的存储形式特别规定...原创 2021-10-15 21:13:09 · 1551 阅读 · 1 评论