![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 58
徐步小兵
这个作者很懒,什么都没留下…
展开
-
【C/C++业务】十六进制与ASCII码互相转换
十六进制转ASCII码unsigned char HexToChar(unsigned char bChar){ if ((bChar >= 0x30) && (bChar <= 0x39)) { bChar -= 0x30; } else if ((bChar >= 0x41) && (bChar <= 0x46)) // 大写 { bChar -= 0x37; }原创 2021-06-09 18:11:12 · 3492 阅读 · 0 评论 -
【C/C++业务】linux线程退出
线程退出线程退出的核心点就是要保证线程退出的时候不会获取了某些临界资源而无法释放【1】接口一pthread_cancel(pthread_t thread);功能是给线程发送取消信号,使线程从取消点退出。取消点:根据POSIX标准,pthread_join()、pthread_testcancel()、pthread_cond_wait()、pthread_cond_timedwait()、sem_wait()、sigwait()等函数以及read()、write()等会引起阻塞的系统调用都是C原创 2021-04-14 13:41:19 · 360 阅读 · 0 评论 -
【C/C++业务】cJSON总结与使用
cJSONcJSON的下载和安装源码下载:地址一:git clone https://github.com/DaveGamble/cJSON.git //安装和编译 mkdir build cd build cmake .. make sudo make install地址二:https://sourceforge.net/projects/cjson/解压 unzip XXX.zip将cJson.c,cJSON.h拷贝到自定义的目录编译:原创 2021-03-02 15:54:47 · 926 阅读 · 0 评论 -
【C/C++业务】多进程同时读写同一个文件
文件锁#include <sys/file.h>int flock(int fd, int operation);参数说明:LOCK_SH 建立共享锁定。多个进程可同时对同一个文件作共享锁定。LOCK_EX 建立互斥锁定。一个文件同时只有一个互斥锁定。LOCK_UN 解除文件锁定状态。LOCK_NB 无法建立锁定时,此操作可不被阻断,马上返回进程。通常与LOCK_SH或LOCK_EX 做OR(|)组合。单一文件无法同时建立共享锁定和互斥锁定,而当使用dup()或fork()时原创 2021-02-04 11:13:34 · 9353 阅读 · 2 评论 -
【C/C++业务】ini配置文件函数解析库
概述ini配置文件有三要素parameters,sections和comments1.parameters指一条配置,就像key = value这样的。2.sectionssections是parameters的集合,sections必须独占一行并且用[]括起来。sections没有明显的结束方式,一个sections的开始就是另一个sections的结束。3.comments指INI配置文件的注释,以 ; 开头。示例; 注释文字[port]Portname=COM4Port=4原创 2020-12-25 22:26:08 · 1428 阅读 · 0 评论 -
【C/C++业务】UNIX时间戳与正常时间相互转换
正常时间转UNIX时间 与 UNIX时间转正常时间#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#include <string>#include <iostream>using namespace std;//str : 20201030int time2unix(string str){ struct t原创 2020-11-27 09:08:19 · 1529 阅读 · 0 评论 -
【C++基础】文件流读写操作
向文本文件写入数据int arr[] = {1,2,3,4,5};//定义文件流对象ofstream ofile;//打开文件ofile.open("test.txt", ios::out);if(!ofile){ cerr << "open file fail" << endl; exit(1);}//把内容写入文件for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++){ ofile原创 2020-10-31 21:17:05 · 656 阅读 · 0 评论 -
【C业务】按行读取文件并获取最大值和次大值
对一个文件实现按行读取数据,获取第二个字段的最大值以及次大值,以及各自对应的编号。测试文件内容如下:b5-00000001-00000303# 6b5-00000001-00000404# 12b5-00000001-00001003# 7b4-00000001-00000904# 91b5-00000001-00000a02# 1实现代码:#include "stdlib.h"#include "stdio.h"#include "string原创 2020-09-09 09:11:05 · 588 阅读 · 0 评论 -
最简洁的排序算法总结
排序算法简述1、插入排序将第一个和第二个元素排好序,然后将第3个元素插入到已经排好序的元素中,依次类推(插入排序最好的情况就是数组已经有序了)2、希尔排序因为插入排序每次只能操作一个元素,效率低。元素个数N,取奇数k=N/2,将下标差值为k的数分为一组(一组元素个数看总元素个数决定),在组内构成有序序列,再取k=k/2,将下标差值为k的数分为一组,构成有序序列,直到k=1,然后再进行直接插...原创 2020-03-16 15:17:50 · 1263 阅读 · 0 评论 -
嵌入式C语言面试常问关键字
static关键字修饰变量变量分为局部变量和全局变量,都存储在静态区,而普通变量存储在栈区。静态全局变量作用域仅仅局限于变量被定义的文件中,其他文件不能使用;静态局部变量只能在函数中使用,同一个文件中其他函数没法使用,它存储在静态区,即使函数结束,这个静态局部变量的值不会被销毁,直到程序结束才会销毁,函数下次使用时仍能使用该值并且保持上次运算结果,默认初始化为0,并且仅初始化一次。修饰函...原创 2019-11-01 16:12:14 · 274 阅读 · 0 评论 -
【机试题】2019.8.4大疆嵌入式笔试题A卷
题型:单选、多选、填空、简答、编程选择题一共15道,10单选,5多选,相对简单,只是模糊记得如下知识点:1、求a的值经过表达式a = 5 ? 0 : 1的运算,变量a的最终值是 0boolean虚拟机取值时候是掩码去掉前七位之后取末尾判断,0是false,1是true,而5对应的是00001001,所以这块表示的是1,也就是true,所以对应的是三目运算里面的结果是 0。2、...原创 2019-08-05 14:39:31 · 9769 阅读 · 5 评论 -
栈和堆的区别
一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全...原创 2018-10-18 14:38:32 · 109 阅读 · 0 评论 -
C++异常处理机制
背景程序运行时常会碰到一些异常情况,例如:● 做除法的时候除数为 0;● 用户输入年龄时输入了一个负数;● 用 new 运算符动态分配空间时,空间不够导致无法分配;这些异常情况,如果不能发现并加以处理,很可能会导致程序崩溃。C++ 引入了异常处理机制。其基本思想是:函数 A 在执行过程中发现异常时可以不加处理,而只是“拋出一个异常”给 A 的调用者,假定为函数 B。拋出异常...原创 2019-06-03 16:41:36 · 361 阅读 · 0 评论 -
文件IO与标准IO操作函数
1.定义标准IO:标准I/O是ANSI C建立的一个标准I/O模型,是一个标 准函数包和stdio.h头中的定义,具有一定的可移植性。标准IO库处理很多细节。例如缓存分配,以优化长度执行IO等。标准的IO提供了三种类型的缓存。(1)全缓存:当填满标准IO缓存后才进行实际的IO操作。(2)行缓存:当输入或输出中遇到新行符时,标准IO库执行IO操作。(3)不带缓存:只要用户调用该函数,就会写到...原创 2019-06-05 20:25:49 · 1318 阅读 · 0 评论