C语言
文章平均质量分 90
Yuk丶
联系邮箱:zhangxuhan_c@163.com
专注学习成长
运用视景仿真,嵌入式软件开发,人工智能,计算机视觉,无人系统,游戏等
linux qt ue4 mak vr-force开发等
https://github.com/zhangxuhan
展开
-
设计模式总结
设计模式总结1、简述2、创建型模式2.1、工厂模式 Factory2.2、抽象工厂模式 Abstract Factory2.3、单例模式 Singleton2.4、建造者模式 Builder2.5、原型模式 Prototype3、结构型模式3.1、适配器模式 Adapter3.2、桥接模式 Bridge3.3、组合模式 Composite3.4、装饰器模式 Decorator3.5、外观模式 Facade3.6、享元模式 Flyweight3.7、代理模式 Proxy4、行为型模式4.1、职责链模式 Cha原创 2022-01-06 15:13:32 · 426 阅读 · 0 评论 -
VS报错问题汇总
记录软件使用过程中遇到的各种报错,下次遇到时可以直接解决。“operator new[]”: 5 个重载中没有一个可以转换所有参数类型参考:https://www.cnblogs.com/zhishuai/p/7459095.html无法打开文件“ libboost_signals-vc141-mt-sgd-x64-1_70.lib"参考:https://blog.csdn.net...原创 2019-05-05 16:10:35 · 1111 阅读 · 0 评论 -
C获得命令行输出结果
在c程序中,system函数可以运行命令行,但是只能得到该命令行的int型返回值,并不能获得显示结果。例如system(“ls”)只能得到0或非0,如果要获得ls的执行结果,则要通过管道来完成的。首先用popen打开一个命令行的管道,然后通过fgets获得该管道传输的内容,也就是命令行运行的结果在linux上运行的例子如下:void executeCMD(const char *cmd, ch...原创 2019-04-09 17:42:36 · 2910 阅读 · 0 评论 -
指针传递问题小结
指针值传递、地址传递和引用传递指针的值传递指针的地址传递指针的引用传递总结一下指针值传递、地址传递和引用传递 :指针的值传递//test.c#include <cstdio>#include <cstring>#include <cassert>void fun(char* p){ p = (char*)malloc(sizeof(cha...原创 2019-04-01 15:26:03 · 475 阅读 · 0 评论 -
理解strtok()函数
strtok()函数详解!1.定义分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。在头文件#include&lt;string.h&gt;中。2.原型char *strtok(char s[], const char *delim);3.说明(1)当...原创 2018-12-19 16:58:42 · 677 阅读 · 0 评论 -
传输udp的示例
工作中实际用到的demo,移植方便,亲测可用发送struct#include &lt;unistd.h&gt; #include &lt;sys/types.h&gt; #include &lt;sys/socket.h&gt; #include &lt;netinet/in.h&gt; #include &lt;arpa/inet.h&am原创 2018-07-27 15:02:25 · 922 阅读 · 0 评论 -
AES算法实现
AES算法实现 1)AES: 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。(微信小程序加密传输就是用这个加密算法的) AES加密算法主要步骤有: 轮密钥加:AddRoundKey 字节替代:ByteSub...转载 2018-03-10 16:47:13 · 1746 阅读 · 0 评论 -
C语言经典算法(一)——求最大公约数的四种方法
今后继续整理算法并写出自己的理解和备注。 C++实现的:最大公约数。C语言或其他语言同理。 多回头看看 很有帮助。1、 最大公约数 <1> 题目描述:求解两个整数(不能是负数)的最大公约数(要求两数不能同时为0) <2> 方法一:穷举法 <3> 方法二:相减法 <4> 方法三: 欧几里德辗转相除法 <5> 方法四: 欧几里德辗转相除法 递归实现源码: 一、 最大公约数 1、原创 2017-12-19 19:27:30 · 11897 阅读 · 0 评论 -
C语言经典算法(二)——求最小公倍数的两种方法
今后继续整理算法并写出自己的理解和备注 C++实现:最小公倍数。C语言同理。1、 最小公倍数 <1> 题目描述:求解两个整数(不能是负数)的最小公倍数 <2> 方法一:穷举法 <3> 方法二:公式lcm = a * b / gcd(a,b)源码: 一、 最小公倍数 1、 穷举法#include<iostream>using namespace std;unsigned long原创 2017-12-19 20:04:01 · 24500 阅读 · 0 评论 -
C语言经典算法(三)——求二进制中1的个数的五种方法
今后继续整理算法并写出自己的理解和备注。 C++实现的:二进制中1的个数1、 二进制中1的个数 <1> 题目描述:对一个字节的无符号整形变量,求二进制数中1的个数(要求:执行效率尽可能高) <2> 方法一:使用模方法 <3> 方法二:使用位操作运算 <4> 方法三:时间复杂度是与1的个数有关的算法 <5> 方法四:分支法 <6> 方法五:查表法源码: 一原创 2017-12-21 18:47:40 · 7516 阅读 · 0 评论 -
C语言经典算法(四)——高效进制转换的三种方法
今后继续整理算法并写出自己的理解和备注。 C++实现的:高效进制转换1、 高效进制转换 <1> 题目描述:对一个 unsigned long 的整数,将其转换为对应的16进制数 <2> 方法一:使用数组存储数据 <3> 方法二:使用栈存储数据 <4> 方法三:使用字符串常量高效转换源码: 一、进制转换 1、 使用数组存储数据#include<iostream>using names原创 2017-12-26 19:35:26 · 9512 阅读 · 4 评论 -
C语言经典算法(五)——求位设置的两种方法
今后继续整理算法并写出自己的理解和备注。 C++实现的:位设置(bit_set)1、 位设置(bit_set) <1> 题目描述: 对一个unsigned char 8 bit数据的指定位置0或置1操作,并保持其他位不变。 函数原型:void bit_set(unsigned char *p_data, unsigned char position, bool flag);原创 2017-12-28 18:37:25 · 1292 阅读 · 0 评论 -
C语言经典算法(六)——递归实现字符串长度的两种方法
今后继续整理算法并写出自己的理解和备注。 C++实现的:递归实现my_strlen1、 递归实现my_strlen <1> 题目描述:实现求字符串长度函数my_strlen <2> 方法一:直接法 <3> 方法二:递归法源码: 一、 递归实现my_strlen 1、 直接法#include<iostream>using namespace std;size_t my_strlen原创 2018-01-04 09:19:32 · 4968 阅读 · 1 评论 -
字符串,int,十六进制相互转换
public class TypeConvert { 02. /* 字符串转byte[] 03. 这个方法转换后的结果是会多一些 48字符进来的就是代表的是0不知道为什么,但是可以只是取出指定的字符串就行了 04. */ 05. public static byte[] hexStringToBytes(String hexString)转载 2017-12-14 16:15:52 · 759 阅读 · 0 评论 -
C语言经典面试题——(持续更新)
注:整理所有问题均来自换联网,个人觉得不错,可以反复思考,回过头来多看几遍,无论对于面试还是思维提升都有极大的帮助。原创 2017-11-28 13:55:54 · 17625 阅读 · 3 评论 -
Socket网络编程——C++版源码
本代码可直接使用 根据TCP/IP三次握手,实验时可使用两台电脑,或者打开两个终端模拟通信。服务器端:#include &lt;iostream&gt;#include &lt;windows.h&gt;using namespace std;#pragma comment(lib,&quot;ws2_32.lib&quot;) //引用静态链接库void main(){ WORD wVersi原创 2017-12-23 09:50:50 · 9944 阅读 · 11 评论 -
C语言实现字节流与十六进制字符串的相互转换
//字节流转换为十六进制字符串void ByteToHexStr(const unsigned char* source, char* dest, int sourceLen){ short i; unsigned char highByte, lowByte; for (i = 0; i < sourceLen; i++) { highByte =转载 2017-12-06 09:12:03 · 4537 阅读 · 0 评论