C/C++
C/C++语言编程
云淡风轻ing
有则改之,无则加勉。
展开
-
C++根据IP与掩码打印所有地址
【代码】C++根据IP与掩码打印所有地址。原创 2022-12-13 10:19:18 · 370 阅读 · 0 评论 -
Linux/C语言实现网卡报文获取与内容修改转发
该实例实现ARP反向代理#include <stdio.h>#include <string.h>#include <pthread.h>#include <pcap.h>#include <assert.h>#include <stdbool.h>#define RECV_SEND_DEVICE "ens38"#define RECV_FILTER "arp or icmp"const char pr原创 2021-05-11 18:01:20 · 891 阅读 · 0 评论 -
C语言getch()函数实现打印字符的ASCII码,并且实现按键继续
C语言getch()函数实现打印字符的ASCII码,并且实现按键继续源代码:#include <stdio.h>int main(){ int ch; char ch2; int i; for(i=0;i<10;i++) { ch=getch(); //获取键盘输入,只能输入单个字符,支持上下左右键,不过存在问题,在运行了一次 printf(...原创 2019-05-08 12:21:45 · 1421 阅读 · 0 评论 -
结构作为函数参数的三种传递方式
结构作为函数参数的三种传递方式======================================- 结构作为函数参数的三种方式1.传递结构成员2.传递结构3.传递结构的地址 ===================================//1.传递结构成员#include <stdio.h>#include <stdl...原创 2019-05-06 22:12:37 · 3356 阅读 · 0 评论 -
C语言结构体数组案例源码
结构体数组#include <stdio.h>#include <stdlib.h>#define MAX 7struct Hero{ int id; //武将编号 char name [20]; //武将名字 char name2 [20]; //武将称号 int level; ...原创 2019-05-05 22:50:04 · 5798 阅读 · 3 评论 -
C语言简单登录验证实现
C语言简单登录验证实现代码:#include <stdio.h>#include <stdlib.h>#define USER_NAME "admin"#define PASSWORD "admin"int main(){ int putin(); putin(); return 0;}int login(char userNam...原创 2019-05-05 17:59:55 · 6555 阅读 · 2 评论 -
C语言所有头文件整理
C语言头文件<ctype.h>字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换----------------------------------------字符测试是否字母和数字 isalnum是否字母 isalpha是否控制字符 iscntrl是否数字 isdigit...原创 2019-04-30 21:48:14 · 6576 阅读 · 0 评论 -
C语言递归函数求阶乘与前n项和
C语言递归函数1.求阶乘: #include<stdio.h> int recursion(int num) { if(num==1) return 1; else { num=num*recursion(num-1); return num; } ...原创 2019-04-30 21:19:42 · 3865 阅读 · 0 评论 -
自行实现pow函数
**自行实现pow函数**因程序内部存在pow函数,为避免冲突,自定义的函数名改为power#include<stdio.h>#include<stdlib.h>//自行实现pow函数//求第一个参数的n次幂//double numl,int num2 ----形式参数double power(double,int); //函数原型,函数声明i...原创 2019-04-28 13:47:40 · 7669 阅读 · 0 评论 -
C/C++队列操作
1.链队结构typedef struct queuenode{ int data; struct queuenode *next;}Queue;typedef struct{ Queue *fronts,*rear;}linkqueue;2.入队操作//进队函数void inQueue(linkqueue *q){ int x; Q...原创 2019-09-12 22:45:15 · 10847 阅读 · 0 评论 -
C/C++链栈操作源代码
链栈结构1.头文件与宏定义#include <stdio.h>#include <stdlib.h>#define STACKMAX 1002.链栈结构//链栈的存储结构typedef struct stacknode{ int data; struct stacknode *next;}Stacknode;//指向栈的指针type...原创 2019-09-10 22:12:07 · 2096 阅读 · 0 评论 -
C语言数据结构链表操作详解
链表也就是线性链单向链表的结构体指针typedef struct linknode{ datatype data; struct linknode *next;}Linknode;datanext链表插入:1.插入指针p之后① s->next = p->next;②p->next =...原创 2019-09-08 22:05:48 · 691 阅读 · 0 评论 -
C语言汉诺塔算法原理分析与实践
汉诺塔游戏的规则:如下图所示,有三个柱子A,B,C,我们要做的是把A柱的所有圆盘,全部转移到C柱上,转移时遵循的规则如下:1、每次只能移动一个圆盘2、所有的大圆盘必须在小圆盘的下面首先假设只有一个圆盘,我们将其编号为1,如下图所示,那么这时候只需要将A直接移到C即可:当存在多个圆盘时:我们以三个为例观察现象...原创 2019-09-03 18:03:11 · 754 阅读 · 0 评论 -
C/C++十六进制打印字符串
#define HexPrint(_buf, _len) \ {\ int _m_i = 0;\ char *_m_buf = (char *)(_buf);\ int _m_len = (int)(_len);\ printf("[%s:%d] \r\n", __FUNCTION__, __LINE__);\ printf("***********************原创 2021-05-11 17:44:51 · 1767 阅读 · 0 评论 -
C++信号量使用简介
/*头文件*/#include <semaphore.h>/*声明与定义*/extern sem_t s_update_info_sem;sem_t s_update_info_sem;/*创建信号灯*/int ret = sem_init(&s_update_info_sem, 0, 2);/*点灯*/sem_post(&s_update_info_sem); //信号灯值加1,表示增加一个可访问的资源。/*等待灯亮*/sem_wait(&a原创 2021-05-11 17:42:26 · 1633 阅读 · 0 评论 -
C++变长结构体使用方法
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <time.h>#include <unistd.h>#include <string.h>#define HexPrint(_buf, _len) \{\ int _m_i = 0;\ char *_m_buf = (char *)(_buf);\ int _m_le.原创 2020-09-19 15:40:23 · 444 阅读 · 0 评论 -
C++ vector 避免迭代器失效
#include <iostream>#include <vector>using namespace std;int main(){ vector<int>m; m.push_back(1); m.push_back(2); m.push_back(3); for(std::vector<int>::iterator it = m.begin();it != m.end()) {原创 2020-09-17 19:27:10 · 493 阅读 · 0 评论 -
C语言Socket编程(TCP与UDP)
C语言Socket编程(TCP与UDP)UDP://udp_server.c:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#define PORT_SERV 8889#define BUFF_LEN 1024stati原创 2020-07-16 15:12:56 · 2711 阅读 · 0 评论 -
C/C++多线程与互斥锁
C/C++多线程与互斥锁//获取线程ID://方法1、void* thread(void *id){ printf("this is a new thread, thread ID is %u\n", pthread_self()); return NULL;}//方法2、#include <unistd.h>#include <sys/syscall.h>#define gettid() syscall(__NR_gettid)原创 2020-07-16 15:04:42 · 292 阅读 · 0 评论 -
C语言字符串去除后面的无用字节(可用于进程间通信)
C语言字符串去除后面的无用字节(可用于进程间通信)#include <stdio.h>#include <string.h>#define dPrint(fmt, ...) do{fprintf(stderr, "[%s:%d] " fmt "\r\n", __FUNCTION__, __LINE__, ##__VA_ARGS__);}while(0)#define HexPrint(_buf, _len) \{\ int _m_i = 0;\ char原创 2020-07-16 14:56:06 · 403 阅读 · 0 评论 -
C语言压缩与解压缩字符串(可用于进程间通信)
C语言压缩与解压缩字符串(可用于进程间通信)#include <stdio.h>#include <stdio.h>#include <string.h>#include <malloc.h>#include <zlib.h>#define dPrint(fmt, ...) do{fprintf(stderr, "[%s:%d] " fmt "\r\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)原创 2020-07-16 14:51:06 · 1210 阅读 · 0 评论 -
C语言scanf()与printf()函数用法
汇总%c 单个字符%d 十进制整数(int)%ld 十进制整数(long)%f 十进制浮点数(float)%lf 十进制浮点数(double)%o 八进制数%s 字符串(char)%u 无符号十进制数(DWORD)%x 十六进制数(0x00000)举例printf( "%4d", 1 ); 1 //输出1的前边有3个空格,补齐4位的宽度printf( ...原创 2019-04-23 19:54:33 · 3107 阅读 · 1 评论