C/C++
C++开发
阿拉斯攀登
生命在于折腾
展开
-
C++用fwrite fread读写二进制文件
C/C++ fwrite fread 函数使用#include <iostream>#include <fstream>#include <cstring>#include "fileTest.h"using namespace std;struct RgbaHeader{ int width = 0; int height = 0; int size = 0;};struct Rgba原创 2020-07-29 22:13:09 · 2123 阅读 · 0 评论 -
C++实现行程编码
demo:#include <stdio.h>#include <string.h>#include <iostream>using namespace std;char * compress(unsigned char* chs){ int len = strlen((char *)chs); int count = 0; int p = 0; char * cm = new char[len*2]; //创建数组存放压缩后原创 2020-07-27 20:41:19 · 1864 阅读 · 0 评论 -
C++调用zlib进行压缩
demo:#include <string>#include <iostream>#include <memory>#include <assert.h>#include <cstring>#include "zlib.h"#define CHUNK 16384/* Compress from file source to file dest until EOF on source. def() returns Z_OK原创 2020-07-27 20:40:03 · 2429 阅读 · 2 评论 -
Clion离线mingW-64配置,简单开启第一个c++
引言本文教你如何用Clion跑起来第一个C++程序操作打开clion 配置Tool chains如下图::针对上一步有些人mingW 在国内下载安装慢,可以离线安装,我这里上传到了百度云盘链接:https://pan.baidu.com/s/1xB3imaBAcz7SHOAkF8z4jg提取码:l0gk配置好之后运行第一个cpp,如下图:结语然后让我们开始C++创作之旅吧!...原创 2020-07-25 11:48:22 · 525 阅读 · 0 评论 -
C++ main函数入参使用
demo:#include <iostream>using namespace std;int main(int argc,char **argv){ char param0[1024] = {0}; int param1 = 0; char *param2; snprintf(param0, 1024, "%s", argv[0]); param1 = atoi(argv[1]); param2 = argv[2]; cout原创 2020-07-22 16:13:21 · 770 阅读 · 0 评论 -
Clion下多个main函数会报错?
clion 下一个项目同时存在多个main函数原创 2020-07-16 23:57:01 · 552 阅读 · 0 评论 -
c++ 函数指针使用案例
函数指针是指向某一类函数的指针变量demo1:#include <iostream>using namespace std;int mysum1(int a, int b){ return a + b;}int mysum2(int a, int b){ return 2 * (a + b);}void myfac(int a, int b, int (*pf2)(int a,int b)){ int sum = (*pf2)(a, b);原创 2020-07-15 16:58:42 · 191 阅读 · 0 评论 -
C语言编译原理简单小结
学下C语言编译原理:名词概念:编辑器:我们编写代码的窗口,有记事本,notepad++等编译器:检查用户代码的一些语法错误兵将其编译成汇编代码汇编器:将编译出来的文件变成目标代码连接器:将目标代码连接成可执行文件(.exe)集成开发环境:IDE,用于程序开发的应用程序,包含以上部分。编译的完整过程,以下5步: C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.a原创 2020-07-12 22:47:06 · 314 阅读 · 0 评论 -
C语言UDP封装库,测试下
server:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include "trans_util.h"#include "msrt_api.h"#define SEND_BUF_SIZE (256 * 1024)static unsigned int g_connect_id = 0;static unsigned int g_o原创 2020-07-11 09:56:33 · 499 阅读 · 0 评论 -
gcc编译器简单使用学习
开始因最近工作需要用C++和C做一些东西来,之前一直在搞Java,突然搞这个还有些棘手。因环境原因,在linux下不能用IDE,所以只能用vim写好,然后用linux下的gcc去编译。这里对gcc笔记一下。记录用vim写好一个hello.c文件gcc -c ./hello.c这一步是编译,操作后会在当前目录下生成一个hello.o文件。 -c 代表编译的参数gcc hello.o -L. -lxxx -o hello这一步会在当前目录下生成一个名为hello的可执行文件。介绍下这几个参数:原创 2020-07-08 00:29:51 · 253 阅读 · 0 评论 -
C++函数指针Demo
demo:#include <iostream>using namespace std;double addition(double, double);double addition(double a, double b){ return a + b;}//auto ptrAddition = addition;int main(){ //ptrMysum = addition; typedef double (*ptrAddition)(do原创 2020-07-02 23:41:49 · 249 阅读 · 0 评论 -
C++之enum枚举量声明、定义、使用与枚举类详解
众所周知,C/C++语言可以使用#define和const创建符号常量,而使用enum工具不仅能够创建符号常量,还能定义新的数据类型,但是必须按照一定的规则进行,下面我们一起看下enum的使用方法。步骤(一)——枚举量的声明和定义(1)首先,请看下面的语句:enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};这句话有两个作用:第一:声明enumType为新的数据类型,称为枚举(.转载 2020-06-30 16:13:32 · 2027 阅读 · 1 评论 -
C++预编译指令分析
预处理含义 c++程序的编译过程可以分为预处理、编译、汇编三部分。预处理部分的过程是扫描程序源代码,对源代码中的指令标注进行初步的转换,产生新的源代码提供给c++编译器。 预处理时读入源代码之后,会检查代码里包含的预处理指令,进行 包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码的工作。下面是C/C++中预编译的各种指令: ● #define 宏定义 ● #undef 未定义宏 ● #include 文本包含 ● #ifdef 如果宏被定义就...原创 2020-06-29 21:59:42 · 235 阅读 · 0 评论 -
C++ 指针遍历数组
1.概念:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量。2.demo代码如下:#include <iostream>using namespace std;void len_fun(char *str, int length);/** * 指针练习 * @return */// 要调用上面定义函数的主函数int main (){ int num1 = 1; int num2 = 2; int *const p..原创 2020-06-29 12:11:54 · 1253 阅读 · 0 评论