![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
岁月神偷小拳拳
这个作者很懒,什么都没留下…
展开
-
vs调试引发了异常:读取访问权限冲突,argv是0x7
读取访问权限冲突,argv是0x7原创 2023-08-02 09:43:47 · 513 阅读 · 0 评论 -
c++ string中取某一部分字符串
c++ string中取某一部分字符串的方法:std::string filenames = “0001.png”std::string name = filenames.substr(0, filenames.length() - 4);【第0位到倒数第4位之间的字符串】取出的字符串name为:0001原创 2020-11-04 16:50:15 · 17242 阅读 · 1 评论 -
c++判断txt文件是否存在,如存在将其删除
c++代码如下: std::string rmseFile = "rmse.txt"; if (access(rmseFile.c_str(), 0) == 0)//文件存在 { if (remove(rmseFile.c_str()) == 0) { printf("删除成功"); } else { printf("删除失败"); ...原创 2020-08-19 18:59:25 · 2419 阅读 · 0 评论 -
c++ 十六进制转字符串(ASCII码)
在网络通信中经常用到16进制和ASCII码字符数组互相转换的功能,完整代码如下:#include <iostream>using namespace std;unsigned int ssstrlen(const char *str){ const char *cp = str; while(*cp++); return (cp - str -1);}int hex2char(uint8_t c){ return ((c >= '0') &...原创 2020-07-28 15:15:28 · 9686 阅读 · 1 评论 -
vs2015代码报错,重定义默认参数 : 参数 1
编译vs2015代码报错:重定义默认参数 : 参数 1解决:需要检查一下声明和定义是否重复赋给了某个变量初值。函数声明:uint16_t move(uint16_t number, uint8_t c, uint8_t bit = 8);函数定义:uint16_t move(uint16_t number, uint8_t c, uint8_t bit = 8){ //首先判读输入的是否合理 if (number < 0 && number >=...原创 2020-06-08 10:59:20 · 1773 阅读 · 0 评论 -
c++解析labelme标注文件
使用labelme标注出来的json文件,不好直接使用,需对其数据进行解析。json文件格式如下:注意,编译安装jsoncpp并配置。函数如下:jsonfile为json文件名称,Shapes是自己定义的类,这个可根据自己的需求更改。struct Shapes{ std::string label; int group_id; std::vector<cv::Point> points;};void readFileJson(std::stri...原创 2020-05-28 13:52:13 · 1165 阅读 · 1 评论 -
c++ vector随机排序
对c++中的vector进行随机排序,打乱原有顺序:#include <vector>#include <io.h>#include <random>template <typename T>std::ostream &operator<<(std::ostream &os, const std::vecto...原创 2020-03-31 16:14:03 · 2266 阅读 · 1 评论 -
C++中string字符串分割实现
C++标准库里面没有提供的字符分割函数split ,需要自己编写。C++中string字符串分割实现:#include <vector>#include <string>#include <iostream>using namespace std;std::vector<std::string> split(const std::s...原创 2020-03-13 18:23:38 · 2243 阅读 · 0 评论 -
C++读取逗号分割的.txt文件
txt文件示例:读取该文件,并存入一个vector之中: std::vector<cv::Point2f> featruePoint; featruePoint.clear(); std::string seqname = fileList_image.substr(0, fileList_image.size() - 4);/...原创 2019-04-10 10:51:18 · 8322 阅读 · 0 评论 -
c++ vector自带的排序
c++中vector的排序函数:sort() int s[] = {1,6,3,2,5}; vector<int> vec(s, s+5); //正向排序:按照从小到大的顺序排序 sort(vec.begin(), vec.end()); for(vector<int>::iterator it=vec.begin(); it!=...原创 2019-04-09 11:49:24 · 63274 阅读 · 0 评论 -
c++代码fopen函数打开文件失败
循环读取一个文件夹下的所有文件,使用fopen()函数打开文件,读取里面的数据。当文件夹中的文件较少时,没有出现问题;当文件夹中的文件较多时,我的文件夹数>1000,发生报错:fopen打开文件失败,直接跳出。for (int i = 0; i < fileList.size(); i++){ FILE *input_file; if (...原创 2019-04-16 15:18:00 · 6334 阅读 · 0 评论 -
调用c++排序函数stable_sort报错
调用排序函数stable_sort时, std::stable_sort(mContoursPanel.begin(), mContoursPanel.end(), consort);报出以下错误:void std::stable_sort(_BidIt,_BidIt)”: 应输入 2 个参数,却提供了 3 个consort为自己定义的函数:bool c...原创 2019-05-29 10:46:47 · 827 阅读 · 0 评论 -
c++对vector中的元素进行随机排序
头文件:#include <iostream>std::vector<std::string> filenames;进行赋值操作之后,打乱向量中的顺序:std::random_shuffle(filenames.begin(), filenames.end());原创 2019-06-06 16:12:47 · 7034 阅读 · 2 评论 -
c++判断string字符串是否含有某个子串
1、string类函数findC++的string类提供了字符串中查找另一个字符串的函数find。其重载形式为:string::size_typestring::find(string &);功能为在string对象中,查找参数string类型的字符串是否存在,如果存在,返回起始位置。不存在则返回string::npos。#include <iostream&g...原创 2019-06-14 14:45:59 · 30427 阅读 · 0 评论 -
c++调用pytorch模型进行推断
当训练好一个CNN模型之后,可能要集成到项目工程中,或者移植到到不同的开发平台(比如Android, IOS), 一般项目工程或者App大多数采用C/C++, Java等语言,但是采用pytroch训练的模型用的是python语言,这样就存在一个问题,如何使用C/C++调用预训练好的模型, 如果解决了这个问题,那么训练好的模型才可以在App中得到广泛应用。PyTorch模型从Python到C+...原创 2019-06-10 16:23:32 · 9540 阅读 · 9 评论 -
C++获取某一文件下的所有文件夹名称
C++获取某一文件下的所有文件夹名称,中文路径,中文文件夹名称都可以。include <iostream>#include <io.h>#include <string>#include<vector>void getSubdirs(std::string path, std::vector<std::string>&...原创 2019-07-04 10:50:45 · 1646 阅读 · 0 评论 -
计算距线段顶点距离为d的点
已知图像中的两点坐标:p1(x1,y1)与p2(x2,y2),求距点p2距离为d的点p(x,y)。求解方法(c++实现): θ= atan2(y2 – y1, x2 * 1.0 – x1); x = x2 + d * cos(θ); y = y2 + d * sin(θ);计算方法解释:1.c++中求反正切的函数说明:atan(dou...原创 2019-09-12 16:28:06 · 822 阅读 · 0 评论 -
C++ char与string之间的转换
1、将string转换为char * 或者char[] 1)调用string的data函数 stringstr="abc"; char*p=str.data();2)调用string的c_str函数 stringstr="gdfd"; char*p=str.c_str();3)调用string的copy函数...原创 2019-03-29 18:30:17 · 12282 阅读 · 1 评论 -
计算一组数的最大值与次大值
c++实现计算一组数中的最大值与次大值:输入参数为一个int类型的vector:std::vector<int> vecNum;(数值均大于0)输出 最大值和次大值存储在vecNumTwo中。 vecNum.push_back(3);vecNum.push_back(1); vecNum.push_back(5);vecNum.push_back(9);...原创 2019-01-14 20:37:07 · 2758 阅读 · 1 评论 -
C++中连接两个vector
现在有两个vector<int>类型的两个变量a,b,注意需要是同类型的。其中a = [1,2,3] , b = [4,5,6],想要将a,b两个变量连接合成[1,2,3,4,5,6],用vector的insert属性:1)在a后面插入b,方法为a.insert(a.end(),b,begin(),b.end());2)在a的前面插入b,方法为a.insert(...原创 2018-12-07 17:42:22 · 12469 阅读 · 0 评论 -
c/c++键盘输入
C语言输入:包含头文件 # include即可。(1)使用scanf():(a)利用一个scanf函数输入单个字符:(一个数字也可被认为是一个字符输入) char arr[1024]; int i=0; char ch; scanf("%c",&arr[0]); //注意格式,单个字符输入 ch=arr[0];原创 2016-07-12 17:08:25 · 9345 阅读 · 0 评论 -
指针和引用的联系与区别
指针和引用的联系: 都是地址的概念:指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名;指针和引用的区别:(1)指针是一个实体,而引用仅是个别名;(2)可以有const指针,但是没有const引用;(3)指针可以有多级,但是引用只能是一级(int **p;合法 而 int &&a是不合法的);(4)指针的值可以为空,但是引用的值不能原创 2016-06-16 22:50:56 · 401 阅读 · 0 评论 -
连续出现次数最多的子串
问题:求一个字符中连续出现次数最多的子串,如abcbcbcabc 中,连续出现的字符串为bc,连续三次。方法1:把字符串用后缀树的形式表现出来如下:a b c b c b c a b c .substrs[0]b c b c b c a b c.....substrs[1]c b c b c a b c .......substrs[2]b c b c a b c原创 2016-09-05 17:00:51 · 745 阅读 · 0 评论 -
C++中substr、find、refind函数的用法
1.C++中substr函数的用法#include#includeusing namespace std;void main(){ string s("12345asdf"); string a=s.substr(0,5); //获得字符串s中 从第0位开始的长度为5的字符串 //默认时的长度为从开始位置到尾 co原创 2016-09-06 10:38:07 · 3441 阅读 · 0 评论 -
初始化vector
vector列表初始化:vector arr ={1,2,3,4,-2,-1,-1}; //初始化错误!!!不能以这种方式初始化正确的初始化方法: //定义int型数组并初始化:iarrayint iarray[]={1,2,3,4,2,-1,-1};//count: iarray数组个数size_t count=sizeof(iarray)/size原创 2016-09-06 17:32:42 · 357 阅读 · 0 评论 -
C++源文件不同后缀(.cc .cpp .C .cp)的区别
C++源文件不同后缀(.cc .cpp .C .cp)的区别:C++实现 源代码的扩展名UNIX C、cc、cxx、cGNU C++ C、cc、cxx、cpp、c++Borland C++ CppMicros原创 2017-08-16 10:23:18 · 2858 阅读 · 0 评论 -
C++中的类所占内存空间
C++中的类所占内存空间总结 最近在复习c++的一些基础,感觉这篇文章很不错,转载来,大家看看!类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。摘抄部分:成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里转载 2017-10-11 10:34:17 · 279 阅读 · 0 评论 -
C++中基类的析构函数为什么要用virtual虚析构函数
知识背景 要弄明白这个问题,首先要了解下C++中的动态绑定。 关于动态绑定的讲解,请参阅: C++中的动态类型与动态绑定、虚函数、多态实现正题 直接的讲,C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当删除基转载 2017-11-14 20:35:27 · 173 阅读 · 0 评论 -
C++中一个类包含另一个类
一个类里面包含另外一个类,构造函数调用的先后关系。1)A类的对象是B类的私有成员:#include <iostream> using namespace std;class A {public: int mInt; A() { cout<< "in A Default Constructor:mInt = " <&l...原创 2018-09-18 19:39:29 · 35227 阅读 · 0 评论 -
VS中统计程序的运行时间
在windowns下,统计VS中代码的运行时间。使用函数:clock_t clock(void) ;简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据...原创 2018-10-12 13:58:26 · 13589 阅读 · 3 评论 -
c++读入txt文件,存储为opencv Mat类型中
c++读入txt文件,存储为opencv Mat类型中,c++代码如下:#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <fstream>#include &...原创 2018-10-16 10:59:38 · 3163 阅读 · 2 评论 -
C++的STL中accumulate的用法
所需的头文件:#include <numeric>可以用来计算特定范围内所有元素的和 ,或者平均值。 std::vector <Eigen::Vector3d> vec_points_src;//向量 size_t num_pts = vec_points_src.size(); //tmp 是向量vec_points_src内每一维的和 Ei...原创 2018-11-03 13:51:45 · 741 阅读 · 0 评论 -
求vector向量中的最大值与最小值
使用STL的vector时,利用函数 max_element,min_element,distance可以获取vector中最大、最小值的值和位置索引。代码如下:#include <algorithm>#include <iostream> int main(){ std::vector<double> vec{1.0, 2.0, 3....原创 2018-11-07 16:24:59 · 5519 阅读 · 0 评论 -
c++对vector进行排序,并返回索引值
测试代码:(对向量进行排序,取一定范围内的数值) vector<int> vec = {5,31,9,11,8,21,9,7,4}; vector<size_t> idx; idx = sort_indexes_e(vec);//注意vec中的内容不变,不是返回排序后的向量...原创 2018-11-08 18:30:13 · 20055 阅读 · 5 评论 -
c/c++键盘输入
C语言输入:(1)使用scanf():(a)利用一个scanf函数输入单个字符:(一个数字也可被认为是一个字符输入) char arr[1024]; int i=0; char ch; scanf("%c",&arr[0]); //注意格式,单个字符输入 ch=arr[0]; while(ch!='\n') //连续...原创 2018-11-29 13:54:40 · 3124 阅读 · 0 评论 -
abs、fabs、fabsf函数的用法区别
abs、fabs、fabsf三个函数都是用来求一个数的绝对值,区别如下:1)int abs(int a); // 处理int类型的取绝对值2)double fabs(double a); //处理double类型的取绝对值3)float fabsf(float a); //处理float类型的取绝对值...原创 2018-11-26 16:51:45 · 22933 阅读 · 0 评论 -
c++中的using namespace std
std是一个命名空间,C++把很多名字放在std命名空间里面的,需要的时候调用std才能使用那些名字。用# include作头文件,就不用using namespace std;用# include作头文件,就必须用using namespace std;例如:#include #include相当于#include #inclu原创 2015-06-30 22:25:09 · 587 阅读 · 0 评论