C/C++
小鱼仙官
这个作者很懒,什么都没留下…
展开
-
ubuntu c++ http服务端event使用
ubuntu c++ http服务端event使用原创 2024-08-29 13:10:23 · 243 阅读 · 1 评论 -
C union 联合体使用
C union 联合体使用原创 2024-08-23 13:24:31 · 95 阅读 · 0 评论 -
c++ getline()函数使用
c++ getline()函数使用原创 2024-08-01 11:26:41 · 106 阅读 · 0 评论 -
C++ YV12转YUV420P 程序
C++ YV12转YUV420P 程序原创 2024-07-24 13:52:10 · 134 阅读 · 0 评论 -
计算时间差
计算时间差原创 2024-07-01 13:37:34 · 140 阅读 · 0 评论 -
ubuntu http 服务器响应
【代码】ubuntu http 服务器响应。原创 2023-09-25 09:45:37 · 383 阅读 · 0 评论 -
ubuntu tcp epoll
【代码】ubuntu tcp epoll。原创 2023-07-25 15:24:55 · 106 阅读 · 0 评论 -
C++ 传递数组,串口接收数据并计算float负数
C++ 传递数组,串口接收数据并计算float负数原创 2023-06-13 08:26:48 · 268 阅读 · 0 评论 -
ubuntu c++调用python函数并获取返回值
c++调用python文件的函数并获取函数的返回值原创 2023-04-06 11:23:40 · 841 阅读 · 2 评论 -
ubuntu c++ rabbitMQ 消息订阅
【代码】ubuntu c++ rabbitMQ 消息订阅。原创 2023-04-04 13:58:24 · 313 阅读 · 0 评论 -
ubuntu18.04 安装Rabbitmq
ubuntu18.04 安装Rabbitmq原创 2023-04-03 13:55:06 · 462 阅读 · 0 评论 -
Ubuntu TinyXml使用工程 简版
TinyXml使用原创 2022-11-11 15:27:13 · 751 阅读 · 0 评论 -
c++ 用poll监听文件内容变化或从命令行获取数据
【代码】c++ 用poll监听文件内容变化或从命令行获取数据。原创 2022-10-17 10:00:16 · 1010 阅读 · 2 评论 -
c++ operator的应用
operator应用分两种:1.重载运算符;2.实现对象类型转换(网上找的,没懂什么意思)代码:#include <iostream>using namespace std;//重载运算符class Student {private: string m_name; //姓名 int m_age; //年纪 int m_mathScores; //数学成绩 int m_chineseScores; //中文成绩 int m_english原创 2022-04-20 14:46:09 · 933 阅读 · 0 评论 -
C++ 十六进制获取其中的某一位
uint8_t da = 0xf6; for(int i=0;i<8;i++) { printf("%d = %d\n", i, (da>>i) % 2); }效果图:原创 2021-11-23 09:19:26 · 1955 阅读 · 0 评论 -
C++ 十六进制与十进制之间转换
#include <iostream>using namespace std;typedef unsigned short WORD;//十六进制转十进制WORD HEX2DEC(WORD v){ return (v/1000)*0x1000 + ((v%1000)/100)*0x100 + ((v%100)/10)*0x10 + (v%10);}//十进制转十六进制WORD DEC2HEX(WORD v){ WORD val=0; .原创 2021-11-16 15:59:09 · 1424 阅读 · 0 评论 -
ubuntu GPIO口操作
h文件/* NVIDIA Jetson Xavier NX 控制GPIO 在linux系统中以文件io的方式控制GPIO示例,开发板为NVIDIA Jetson Xavier NX,其它公司的开发板也可使用。 此代码功能:GPIO-09接入蜂鸣器,高电平开启,低电平关闭。*/#ifndef NVIDIAGPIO_H#define NVIDIAGPIO_H#include <cstdlib>#include <cstdio>#include.原创 2021-10-27 16:45:28 · 2144 阅读 · 0 评论 -
ubuntu utf8与gbk之间转换
#include <iconv.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>int u2g(char *inbuf,int inlen,char *outbuf.原创 2021-10-27 16:39:14 · 475 阅读 · 0 评论 -
十大经典排序算法
稳定排序:冒泡排序、插入排序、归并排序非稳定排序:选择排序、希尔排序、堆排序、快速排序1、冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调,比较是相邻的两个元素比较,交换也发生在这两个元素之间。(类似于气泡上浮过程)动图如下:步骤:1、比较相邻的元素,如果第一个比第二个大,则交换2、对每对相邻元素重复步骤1操作,筛选出最大元素3、针对所有元素重复步骤1、2(除最后一个元素,已经是最大)示例代码:void bubbleSort(std::vector<i转载 2021-10-25 11:28:58 · 385 阅读 · 0 评论 -
c++ static 初始化,赋值,使用
#include <iostream>using namespace std;class Test{public: static int number; //回调函数 static void callback(int data);};int Test::number = 0;void Test::callback(int data){ number = data; cout<<"number = "<<n.原创 2021-09-10 10:23:25 · 776 阅读 · 0 评论 -
C++ 错误:“xxx” does not name a type
遇到错误:这其实是由于头文件的递归引用造成的,也就是在A类头文件中include了B,在B类头文件也include了A造成的!转载 2021-07-27 09:48:01 · 1746 阅读 · 0 评论 -
c++ noncopyable类的使用,实现类的不可拷贝
noncopyable为实现不可拷贝的类提供了简单清晰的解决方案。使用的事boost库h文件:#ifndef BASE_H#define BASE_H#include <cstdlib>#include <iostream>#include <boost/utility.hpp>using namespace std;class Base : private boost::noncopyable{public: Base(in.原创 2021-06-17 10:02:28 · 394 阅读 · 0 评论 -
Linux音频编程--使用ALSA库播放wav文件
#include <stdio.h>#include <stdlib.h>#include <alsa/asoundlib.h>int main(int argc, char *argv[]){ int ret; int dir=0; char *buffer; int size; snd_pcm_uframes_t frames; snd_pcm_uframes_t periodsize; snd_pcm...原创 2021-06-08 15:29:58 · 1622 阅读 · 0 评论 -
c++ 一些函数的使用
1.字符串分割--strtokC/C++:char *strtok(char s[], const char *delim);s 代表需要分割的字符串,delim代表分割的标志,参数都为比选!返回指向分割部分的指针,如果没有分割成功就返回NULL.一个简单的例子:void main(){ char *str = "jscese test strtok"; char *delim = " "; char *pstr = NULL; pstr = strtok(...原创 2021-05-31 10:55:42 · 160 阅读 · 0 评论 -
Linux 配合远程服务器升级程序
#ifndef UPGRADE_H#define UPGRADE_H#include <string>using namespace std;class upgrade {public: string url; //升级程序路径 string version; //版本对比 upgrade() { } ~upgrade() { } int main(void);};#endif#include <iostream>#include &.原创 2021-03-08 14:58:47 · 930 阅读 · 0 评论 -
LINUX C++ TCP/IP 多服务器客户端程序
具体程序如下:主服务器和主客户端:#include <iostream>#include <sys/socket.h>#include <arpa/inet.h>#include <string>#include <string.h>#include <unistd.h>#include <pthread.h>#include <stdio.h>#include <std...原创 2021-02-23 13:15:47 · 648 阅读 · 0 评论 -
c++ 写读csv文件
#include <iostream>#include <fstream>#include <string>#include <vector>#include <algorithm>#include <random>using namespace std;int main(){ ofstream of; of.open("execl.csv", ios::out); for(int i=0.原创 2021-02-08 13:22:20 · 178 阅读 · 0 评论 -
c++ curl post和get请求返回数据解析
size_t getUrlResponse(void *buffer, size_t size, size_t count, void *response){ string *str = (string*)response; (*str).append((char*)buffer, size*count); return size * count;}//post请求string upload(string url, string data){ string r.原创 2021-02-07 15:35:37 · 4286 阅读 · 2 评论 -
Linux V4L2 yuv422转opencv mat显示
1.将yuv422转成rgb2.将rgb转成matMat image(IMAGE_HEIGHT, IMAGE_WIDTH, CV_8UC3, buffer);//buffer为转完的rgb数据原创 2020-12-28 14:06:40 · 2390 阅读 · 4 评论 -
Linux c++ vector 赋值给string
vector<unsigned char> imgData; string m_befor(imgData.begin(), imgData.end());原创 2020-12-24 15:52:49 · 999 阅读 · 1 评论 -
Linux c++ zbar opencv 二值化 开运算 识别二维码
#include <iostream>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/core/core.hpp>#include <zbar.h>#include <zbar/Image.h>using namespace std;using namespace cv;usin.原创 2020-12-15 12:32:36 · 706 阅读 · 0 评论 -
Linux system函数返回值
例:status = system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。2、如何正确判断test.sh是否正确执行?仅判断status是否==0?或者仅判断status是否!=-1?都错!3、man中对于syste...转载 2020-12-15 08:34:01 · 1266 阅读 · 0 评论 -
Linux c++ md5 校验文件
代码如下://编译方法: g++ file_md5.cpp --std=c++11 -lcrypto#include <fstream>#include <openssl/md5.h>#include <string>#include <string.h>using std::string;int get_file_md5(const std::string &file_name, std::string &md5_v原创 2020-12-12 13:07:51 · 1416 阅读 · 0 评论 -
Linux c++ 指定程序再四核中的某一核上运行
获取到多核程序:/* * ===================================================================================== * * Filename: get_cpu_core_num.c * * Description: 获取CPU可用核数并绑定某核运行 * * Version: 1.0 * Created: 2013年08月09日 13时01分23秒 *原创 2020-12-10 11:53:08 · 743 阅读 · 0 评论 -
Linux Makefile 传参数给cpp文件
如题,代码如下:Makefile文件:ARCH := $(shell arch)ifeq ($(ARCH), "x86_64")SETTING := 1elseSETTING := 0endifCXX := g++ -std=c++11CFLAGS := -Wall -g -O2 -DSETTINGALL = mainOBJECT = main.oLIBS =%.o:%.cpp $(CXX) -c $^ -o $@ $(LIBS) $(CFLAGS)$(ALL原创 2020-12-01 10:32:20 · 424 阅读 · 0 评论 -
c++ 遍历目录 去掉隐藏文件
根据string特性:1. size_t find (const string& str, size_t pos = 0)str.find(str1)说明:从pos(默认是是0,即从头开始查找)开始查找,找到第一个和str1相匹配的子串,返回该子串的起始索引位置;如果没有找到则返回string::npos参考:find函数:http://www.cplusplus.com/reference/string/string/find/2. size_t find_first_of原创 2020-11-18 14:15:22 · 600 阅读 · 0 评论 -
Ubuntu C++ zxing 安装识别二维码
1、下载zxing源码git clonehttps://github.com/15903016222/zxing-cpp.git2、安装依赖工具cmakesudo apt-get install cmake cmake-qt-gui3、编译,安装cd zxing-cppmkdir buildcd buildcmake -G "Unix Makefiles" ..makesudo make install4. 测试在build的目录下,运行zxing-cv..原创 2020-10-29 15:14:11 · 729 阅读 · 0 评论 -
c++ curl 传输json数组
#include <iostream>#include <jsoncpp/json/json.h>#include <jsoncpp/json/reader.h>#include <curl/curl.h>using namespace std;int upload(string url, string strData){ CURL *curl = NULL; struct curl_slist *headers = NULL.原创 2020-10-09 13:27:22 · 1136 阅读 · 0 评论 -
C++中String类的字符串分割实现
最近笔试,经常遇到需要对字符串进行快速分割的情景,主要是在处理输入的时候,而以前练习算法题或笔试,很多时候不用花啥时间考虑测试用例输入的问题。可是C++标准库里面没有像java的String类中提供的字符分割函数split ,着实不方便。那么怎么解决这个问题呢?整理了一些方法如下:1.简洁高效的方法(不过只能包含一个分隔符): 1 2 3 4 5 ...转载 2020-01-18 11:56:21 · 450 阅读 · 0 评论 -
c++ 复杂版找串口的pid和vid
//// Created by Administrator on 2020/1/17.//#ifndef USBLIST_SERIALSCAN_H#define USBLIST_SERIALSCAN_H#include <iostream>#include <map>#include <fcntl.h>#include <unistd...原创 2020-01-18 11:58:54 · 739 阅读 · 0 评论