c++性能测试精确到秒、毫秒、纳秒

#include <iostream>
#include <string>
#include <chrono>void Run()
{for (int i = 0; i < 1000000000; ++i){}}int main()
{auto beforeTime = std::chrono::steady_clock::now();Run();auto afterTime = std::chrono::steady_clock::now();std::cout << "总耗时:" << std::endl;//秒double duration_second = std::chrono::duration<double>(afterTime - beforeTime).count();std::cout << duration_second << "秒" << std::endl;//毫秒级double duration_millsecond = std::chrono::duration<double, std::milli>(afterTime - beforeTime).count();std::cout << duration_millsecond << "毫秒" << std::endl;//微妙级double duration_microsecond = std::chrono::duration<double, std::micro>(afterTime - beforeTime).count();std::cout << duration_microsecond << "微秒" << std::endl;//纳秒级double duration_nanosecond = std::chrono::duration<double, std::nano>(afterTime - beforeTime).count();std::cout << duration_nanosecond << "纳秒" << std::endl;getchar();return 0;
}

读取文件夹的所有图片

#include <iostream>
#include <string>
#include <bitset>
#include <io.h>
#include <fstream>
#include <windows.h>
#include <iomanip>
#include <chrono>
#include <vector>using namespace std;
void getFiles(string path, vector<string>& files)
{//文件句柄intptr_t hFile = 0;//文件信息struct _finddata_t fileinfo;string p;if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1){do{//如果是目录,迭代之//如果不是,加入列表if ((fileinfo.attrib & _A_SUBDIR)){if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)getFiles(p.assign(path).append("\\").append(fileinfo.name), files);}else{files.push_back(p.assign(path).append("\\").append(fileinfo.name));}} while (_findnext(hFile, &fileinfo) == 0);_findclose(hFile);}
}

c++向文本文件一行行写入数据

\r\n换行fp=fopen("aa.txt","w+");
fwrite("a\r\n",1,3,fp);
fwrite("a\r\n",1,3,fp);
fclose(fp);

OpenCV:glob遍历文件夹下的所有图片

#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{//要绝对路径string path = "D:\\data\\*.bmp";cout << path << endl;vector<Mat> images;// 必须cv的Stringvector<String> fn;glob(path, fn, false);size_t count = fn.size();cout << count << endl;for (int i = 0; i < count; i++){images.push_back(imread(fn[i]));imshow("pic", images[i]);waitKey(10);}return 0;
}

//用void glob(String pattern, std::vector& result, bool recursive = false);
//当recursive为false时,仅仅遍历指定文件夹内符合模式的文件,当recursive为true时,会同时遍历指定文件夹的子文件夹

由于glob遍历图像名称不是按顺序进行遍历的;
在读取图像序列的时候经常要按顺序读取,如在多目标跟踪中;
这时可以sort进行排序;

//获取文件夹下所有图像名称,
// 图像名称按升序排列
int imageNameLists(string filePath, vector<string>& nameArr)
{vector<cv::String> fn;cv::glob(filePath, fn, false);size_t count = fn.size();if (count==0){cout << "file " << filePath << " not  exits"<<endl;return -1;}for (int i = 0; i < count; ++i){//1.获取不带路径的文件名,000001.jpgstring::size_type iPos = fn[i].find_last_of('/') + 1;string filename = fn[i].substr(iPos, fn[i].length() - iPos);//cout << filename << endl;//2.获取不带后缀的文件名,000001string name = filename.substr(0, filename.rfind("."));//cout << name << endl;nameArr.emplace_back(name);}sort(nameArr.begin(), nameArr.end(),[](string a, string b) {return stoi(a) < stoi(b); });return 0;
}

c++常用代码(持续更新)相关推荐

  1. Matlab常用代码---持续更新

    Matlab中的一些常用代码---持续更新 1. 获取当前的工作目录路径:添加文件夹到工作路径 2. 获取某个.m文件的绝对路径 3. 使用随机颜色进行可视化 1. 获取当前的工作目录路径:添加文件夹 ...

  2. C语言图形函数代码~持续更新中

    下面总结的是一些C语言图形函数代码~持续更新中 画三类圆 #include#include#include#include#includeint main(void) { initgraph(640, ...

  3. Android开发人员不得不收集的代码(持续更新中)(http://www.jianshu.com/p/72494773aace,原链接)

    Android开发人员不得不收集的代码(持续更新中) Blankj 关注 2016.07.31 04:22* 字数 370 阅读 102644评论 479喜欢 3033赞赏 14 utilcode D ...

  4. javaScript常用语法(持续更新)

    一.数据类型 1. 原始数据类型(8个) number, string, boolean, undefined, null, symbol, bigint, object 1.1 number包括以下 ...

  5. java-List集合初始化的几种方式与一些常用操作-持续更新

    目录 list集合初始化 map初始化 获取list集合中的最大最小值 list排序 list对象时间排序 treeMap 中(基于key的排序) TreeMap的按value排序 Map按value ...

  6. 课后习题代码持续更新。。。。。。。。。。。。。

    持续在更新! 转载于:https://www.cnblogs.com/PerZhu/p/10867519.html

  7. peewee和peewee_async常用汇总(持续更新)

    作者:Each+ Apollo 目录 文章目录 目录 一.Meta信息 1. database 2. table_name 3. table_function 4. indexes 5. primar ...

  8. 工业视觉需要时可抄的代码---持续更新

    1.批量访问图片,等待键盘 for (int i = 2; i <= 23;){if (KEY_DOWN('S')){std::string path = "";char t ...

  9. java程序员一天多少行有效代码,持续更新~

    Java程序员应该知道的20个有用的库经验丰富的优秀Java开发人员的一个特点是对API(包括JDK和第三方库)有广泛的了解.今天分享一些Java开发人员应该熟悉的最有用.最基本 程序员经常会因为不编 ...

  10. Android Studio常用插件(持续更新)

    AS有很多实用的插件可以提高生产效率,本篇主要记录AS一些常用的插件. 前言:插件安装方法 这些插件的安装方法都是一样的,所以写在了前面,后面对插件的介绍就不再赘述安装方法了.主要有两种安装方法,一种 ...

最新文章

  1. vue组件定义、组件的切换、组件的通信、渲染组件的几种方式(标签、路由、render)...
  2. WAIC开发者日倒计时两天,收藏好这份完整日程
  3. python怎么捕获mysql报错
  4. 20200406 托普雷兹矩阵 Toeplitz
  5. how is our class instance registered - thanks to AnnotationConfigWebApplicationC
  6. LQ训练营(C++)学习笔记_深度优先搜索
  7. 使用ama0实现串口通信_“ AMA”是什么意思,以及如何使用它?
  8. java 绘制长方形_Java入门:绘制简单图形
  9. 国产剧注水严重 广电总局拟将出手:剧集不得超过40集
  10. 单工、半双工、双工通信详解
  11. 数据结构与算法-表(单链表 循序表 )
  12. 项目质量管理工具--鱼骨图(石川图)
  13. Idea配置自动导包
  14. 淘宝天猫乐高的销售情况
  15. IDEA 报错 Error:java:错误:不支持发行版本5
  16. oSIP协议栈(及eXoSIP,Ortp等)使用入门
  17. Sitadel :Web安全扫描工具
  18. kitti_object_vis
  19. P1768 天路(spfa+二分答案+01分数规划)
  20. python bt_python实现p2p文件传输

热门文章

  1. ubuntu nginx配置虚拟主机,目录
  2. 使用MDT2012部署WindowsLinux操作系统(4)
  3. Android应用开发提高系列(5)——Android动态加载(下)——加载已安装APK中的类和资源...
  4. LINUX SAN 500G重新分区、格式化,后成功恢复数据90%
  5. 数据库的事务隔离级别
  6. Producer API
  7. 数据标准在数据治理中的意义
  8. 路由 命令 linux,linux路由命令
  9. vue可编辑div_Vue实现MakeDown编辑器
  10. c语言二维数组应该注意,第08天C语言(02):二维数组-注意点