自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 单字节转多字节,多字节转单字节,C++实现

char * 或char[] 转 LPCTSTR 类型问题描述:今天在想在MFC的IP显示控件中显示本机IP地址,于是调用了SetDlgItemText()函数。结果显示:尝试解决未果经验告诉我:这只是一个简单的兼容性问题,将 slzp 强制转成 LPCTSTR 类型就行,结果显示乱码:于是意识到这是一个字符编码问题。尝试搜索,大量的回答都是加 _T() 这个宏定义,但是该宏定义只能转...

2020-01-22 22:32:48 1010 1

原创 条件编译之——#define,#ifndef #define #endif ,#pragma once,#if defined

预定义符号 #define例1:#define MAX_SIZE 20#define 用于替换文本代码#define MAXSIZE 20void main(){ char str[MAXSIZE];}编译器在处理这个代码之前会对MAXSIZE进行处理,替换为20。例2:替换参数#define DOUBLE(x) ((x)+(x))#define DOUBLE(x) (...

2019-05-08 23:44:33 427

原创 C语言中结构体内存分配问题

关于结构体内存分配机制的详解。 直接上例子。typedef struct strdent1{ int a; //4字节 char b; //1字节 char c[3]; //3字节}std1; //4+1+3=8typedef struct strdent2{ char a[3]; //3字节 int b; //4字节 char c; /...

2019-04-19 16:42:02 1052

原创 win32多媒体定时器

win32多媒体定时器几个拉跨的定时器精度select选择模型:15msSleep(1) :15mstimeGetTime: 5msQueryPerformanceCounter:<1微秒 (win2000支持)精度达到1ms的定时器:多媒体定时器(win95支持)原理分析:多媒体定时器被创建后,应用程序有一个定时器消息队列,系统以1ms(最高精度)的周期向程序发送定时器消息。当应用程序收到消息时,调用回调函数。此回调函数优先级非常高(最高),甚至可以将Sleep的精度压缩到1ms(普通

2022-04-05 15:19:18 1709 2

原创 Windows高精度时钟

封装几个代码,方便以后查询和使用Windows高精度时钟 精度:<1us 微秒1.1Function 1统计一段代码的CPU时间 LARGE_INTEGER freq; LARGE_INTEGER beginTime; LARGE_INTEGER endTime; QueryPerformanceFrequency(&freq); QueryPerformanceCounter(&beginTime); //测试代码块时间 Begin //测试代码块时间

2021-08-02 12:28:03 1077

原创 CreateThread()总结

HANDLE hThread = CreateThread(NULL,0,runThread,this, CREATE_SUSPENDED,NULL);创建一个挂起的线程ResumeThread(hThread);恢复线程SuspendThread(hThread);挂起线程注意:线程挂起几次就要恢复几次

2021-06-16 09:37:40 212

原创 电梯模拟程序

Qt5编写的电梯控制模拟程序 附源码图源代码链接地址:系统架构逻辑实现elevator.helevaotr.cpp未完待续、、、用c++和qt5编写的单电梯模拟程序简介:这是一个在Qt5中构建的小型电梯模拟程序。包括门控和电梯升降控制。因为我在其中使用win32 api, MSVC应该是构建的选择。目前,它仍然存在一个小bug,它总是由最近的呼叫面板信号引起的。还有一件事,当系统准备好启动时,必须首先单击启动按钮,否则将发生意外的错误。图开机图:启动图:源代码链接地址:GitHub源代码链

2021-04-12 21:48:19 2048 1

原创 LeetCode力扣--203题:移除链表元素C++

题目描述:LeetCode203:移除链表元素要求:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解法:废话不多说,先来一段官方的代码与原创代码对比截图:官方代码:官方代码不美观在:0:一共15行代码,代码缩进结构十分紧凑1:在堆上申请了一块内存,最后还得释放2:在栈区创建了5个指针变量,操作繁琐3:在while循环结束之

2021-02-23 00:00:00 322 2

原创 c++之vector 及 二维容器vector<vector<int>>初始化方法 及 三维数组初始化

C++二维容器vector<vector>初始化方法解析遇到的问题:在解决“求最大字串”问题时想到了用二位数组vector<vector<int>> table,但是不知道怎么对其进行初始化(初始化时指定二维容器的大小),于是网上搜索一番,最终找到了如下一行代码:vector<vector<int>> table(size1, vector<int>(size2, 0));代码说明:声明一个名为table的容器,其元素为vec

2021-02-15 18:30:02 35990 6

原创 WINDOWS核心编程第一章-错误处理

windows为所有错误集合在一个头文件<WinError.h>用DWORD GetLastError(); 获取最后错误。原理:每个线程有个独立的“线程本地存储区域”,用于存放最后调用的函数返回的错误代码,存储在 $err,hr 中。监视错误窗口: $err,hr方法: 在Visual Studio ,调试窗口底下的监视中添加 :$err,hr功能: 获取当前进程调用的最近一个函数返回的错误代码!PVOID 类型: void*Error Lookup: 在 Visual Stu

2021-02-15 16:43:28 150

原创 腾讯笔试题:请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句

请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句解析:定义一个宏:翻译-定义一个带参数的宏#define COMPARE(X,Y)不能使用大于,小于,if语句:翻译-使用三目运算符(1)?(1):(0)解决方案1:使用abs函数,该方法比较简单,没有利用运算结果符号位是否相等的原理//1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句#include<cmath>#include<stdio.h>#define COMP.

2020-08-03 21:50:22 1001

原创 select选择模型相关知识点

知识点:select函数int select(fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);知识点:fd_set结构体fd_set.u_intfd_set.socket[]FD_ZERO()FD_SET()FD_CLR()FD_ISSET()知识点: timeva...

2020-02-26 16:15:21 283

原创 const指针语义 -- const int* const p ; const int *p ; int * const p;

问题描述:在遇到const修饰指针的问题时,如何快速翻译出每个const 所修饰的对象? 以及const 在不同位置时,该类型指针的哪些东西可以被修改,哪些又不能被修改?下面介绍一种简单的方法:问题实例:const 的组合无非就4种:1.int * const p; //const 在*和p之间2.const int *p; //const int* 前面3.int const *p...

2020-01-24 12:52:06 659

原创 桶排序迷你版--C语言实现

#include<stdio.h>int main(){ int a[11]={0},box,j,k,i; //数组初始化 for(i=0;i<11;i++) a[i]=0; //输入10个数字 for(i=1;i<=5;i++) { scanf("%d",&box); if(box>=0 &...

2019-10-04 13:12:31 242

原创 Unicode与C 重点摘要-Windows程序设计第二章上

关键名词部分:Unicode: Unicode 扩展自 ASCII 字元集ASCII 美国资讯交换标准码 American Standard Code for Information Interchange Size:7 位元ISO: 国际标准化组织 (ISO:International Standards Organization)内码:11010001 10100111 存储在计算机...

2019-10-03 23:46:57 207

原创 Windows程序设计(第五版)第一章 总结

WIN32程序设计(第五版) 第一章(WINDOW环境) 重点提要windows简史MS-DOS:MS-DOS 是一个小型的作业系统MS-DOS 提供给用户一种命令列介面,提供如 DIR和 TYPE 的命令,也可以将应用程式载入内存执行。对于应用程序写作者,它提供了一组函式呼叫,进行档案的输入输出(I/O )。对于其他的周边处理——尤其是将文字或图形写到显示器上——应用程序可以直接存取 PC...

2019-09-29 23:27:06 304

原创 线程优先权Thread Priority概念总结

全文参考《WIN32多线程设计》一书。为什么会有线程优先权:为什么CPU处理线程时会按优先级执行?想象在忙碌的一天中,有很多事情待做但时间又不够,其中有很多紧急的事情。比如当晚的英语在线测试,明天的正式作业,下午重要的考试等等,你将如何安排一天的活动?如果这期间时想上厕所,或突然来电话了,你将如何选择?…是不是最重要的事最先做?这时候当然就要有个做事的主次顺序,这种处理事情的主次顺序反映在WI...

2019-06-23 23:45:51 10642 1

原创 Windows线程同步-如何终止一个线程

如何终止一个正在运行的线程:强制终止线程就一个原则,最好让线程自己结束,即线程return;1.用TerminateThread()BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);书中解释:TerminateThread() 看 起 来 不 错 , 直 到 我 读 了 一 份 文 件 , 上 面 说 :“ Terminat...

2019-06-19 21:41:51 442

原创 windows线程同步-事件Event用法总结

事件对象创建一个事件参数介绍实例:SetEventRestEvent程序实例程序需求设计思路程序实例截图结合代码总结分析

2019-06-17 22:06:01 1841

原创 信号量 Semaphore 用法及注意事项总结

信号量信号量在WIN32系统中是核心对象,故其用法同其他同步机制类似,但可应用于多个线程同步运行,即同时有至多有限个线程同时工作,而线程上线数量取决于初始化时指定的最大值。1.创建一个信号量创建时初始值不要超过信号量最大限度。HANDLE CreateSemaphore(LPSECURITY_ATTRIBUTES lpAttributes,LONG lInitialCount,LON...

2019-06-15 15:58:27 1372

原创 Windows多线程-互斥器Muetex用法总结以及如何避免死锁

Muetex()Muetex()是一个核心对象,所以其可用WaitForSingleObgect()来等待先介绍用于线程同步的互斥器的用法:一:产生一个互斥器二:等待互斥器激活三:释放互斥器...

2019-06-14 16:41:28 326

原创 Windows多线程编程-临界区-产生死锁

Deadlock //死锁问题问题引入:在目前的Windows系统中如果一个线程进入某个 critical section 而在未离开的情况下就结束(异常结束),而没有 执行LeaveCriticalSection() 的话,之后别的线程可以进入该临界区域吗?程序实例:1)正常退出临界区域2)不退出临界区域结论:经对比发现,不退出临界区域的话,其他线程则无法进入该临界区域,这在一定程度...

2019-06-12 13:24:35 543

原创 Windows多线程-Critical Section(关键区域,临界区域)用法及实例

CreateThread第四个参数的应用。#include<stdio.h>#include<Windows.h>DWORD WINAPI fun1(LPVOID P){ int *p=(int *)P; *p=(*p)*(*p); return 0;}int main(){ int a=5; HANDLE h1=CreateThread(N...

2019-05-24 11:40:40 747

翻译 将字符串逐一入队,再出队列输出。

**C语言 创建一个简单链式队列代码:将字符串逐一入队,再出队列输出。**队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。要点1.队列节点:typedef char Elementype;typedef struct N...

2019-05-11 17:04:19 2699

原创 C语言——栈(顺序存储)

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。定义一个栈的结构体: #define MaxSize 100 ...

2019-04-26 15:20:13 502 2

原创 C语言创建单链表

单链表链表节点结构体struct node{ char name[10]; float score;}typedef struct node{ struct node; struct node*next;}LinkList;初始化一个链表void InitLinkList(LinkList*&L){ L=malloc(sizeof(LinkList))...

2019-04-23 21:32:49 42751 7

原创 C语言 文件操作

C语言文件操作文件结构体FILE*fp;打开文件,关闭文件fopen()FILE*fp=fopen(“XXX.txt”,“w”) ;fclose()fclose(fp);fopen(“路径+文件名”,“打开方式”);打开方式: 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:参数意义r(read):读...

2019-04-22 15:12:43 280

原创 C语言打印菱形

用C语言打印出菱形例如,观察下面这个菱形。这个菱形共13行,前7行逐行自1加2个星星1,3,5,7,9,11,13.发现,最中间一行星数恰好等于行数。则相应打印上半部分星星数代码为:#include<stdio.h>int main(){ int length=13; for(int i=1;i<=length/2+1;i++) { for(int j=0;...

2019-04-19 15:43:32 767

原创 C语言 指针的常见用法

一维指针--用函数交换两个数的值#include<stdio.h>void fun1(int a,int b){ int temp; if(a>b) { temp=a; a=b; b=temp; }}void fun2(int *a,int *b){ int c; ...

2019-04-17 21:53:25 350

原创 Day for C语言基础——— 数组,字符串

初始化一维数组#include<stdio.h>int main(){ int a[10]={1,2,3,4,5}; //没有赋初值的部分自动变为0 int b[]={1,2,3,4,5} //系统自动判断数组大小 for(int i=0;i<10;i++) { printf("a[%d]=%d\tb[%d]=%d\n",i,a[i],i,b[i]);...

2019-04-16 22:04:36 221

原创 程序员生活Day3 C程序结构:循环和选择

**C语言结构:循环和选择if() 语句 判断成绩等级int main(){ float k; scanf("%f",&k); if(k>=85) { printf("优秀\n"); } else if(k>=60) { printf("良好\n"); } else { printf("不及格\n"); } return 0;}...

2019-04-15 22:00:04 199

原创 程序员生活Day2C语言简单语法

C语言基本语法——变量例1:变量的声明和初始化#incude<stdio.h>int main(){ char a=10; int b; b=20; float c; c=(float)0; double d; d=2.0; printf("a=%c\tb=%d\tc=%f\td=%lf\n",a,b,c,d); return 0;}例2:从键盘读入...

2019-04-15 21:39:57 248

原创 程序猿生涯的第一天

c语言第一个程序#incldue<stdio.h>int main(int argc,char *argv[]){printf("%d\n",argc);printf("%s\n",*argv[0]);return 0;}

2019-04-12 21:40:36 221

OpenDDS3.14代码+搭建教程+测试Demo

OpenDDS3.14代码+搭建教程+测试Demo

2023-12-17

C语言课设火车站售票系统.c

一、课题内容和要求 设计目标:设计一个火车售票系统,用C语言实现。对该系统的要求如下: (1) 需求描述: 一、系统角色: 1.火车站售票员: 火车站售票员能够使用本系统完成基本的车票销售过程及销售记录统计过程。 1)车票销售过程 (1)售票 (2)退票 (3)换票 3)销售记录统计 2.系统管理员 能够添加、删除和修改系统用户(火车站售票员),设置用户权限。包括 1)添加新用户 2)删除用户 3)修改用户权限 二、系统流程描述: 系统启动则进入登陆菜单。 1.登陆流程 (1)程序运行,显示登陆界面,请用户输入角色、账号及密码。 (2)用户输入账号密码后,系统校验正确与否,正确则进入功能菜单。错误则提示输入错误,继续显示登陆界面。

2021-03-21

653P1-2.pdf

高清带书签 1997年1月ARINC发布了ARINC653(航空电子应用软件标准接口),并于2003年7月发布ARINC653 Supplement 1,对区间管理、区间通信及健康监测部分进行了补充说明,用以规范航空电子设备和系统的开发。 分区(Partitioning)是ARINC653中一个核心概念。

2021-03-21

Labwindows/CVI蒙娜丽莎拼图游戏.zip

一款用LabWindows/CVI做的3×3拼图游戏,用到了C语言开发,多线程技术。可以随机生成图片的位置,然后进行拼图游戏开始。可以统计游戏时间,和当前进行的游戏场数,一款小项目。

2019-12-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除