C++ 基础编程

目录

 检索文件夹中的图片名——可用于批量读取图片

C++ 创建文件夹并检测指定文件的个数

C++ 多线程

C++ 常见错误解决

"Error: "const char"类型的实参与"LPCWSTR"类型的形参不兼容",解决方法:

operator()


 


 

 检索文件夹中的图片名——可用于批量读取图片

/*
#include <iostream>
using namespace std;
*/
std::string img_dir = "C:\\Users\\Administrator\\Desktop\\样品\\目标分割结果\\";	
for (int i = 0; i < 6; i++){
	string pos;
	stringstream ss;
	ss << i;
	ss >> pos;
	string img_name = img_dir + "test" + pos + ".bmp";
	cout << img_name << endl;		
}
system("pause");

C++ 创建文件夹并检测指定文件的个数

// 创建文件夹
string dirName = "save";
bool flag = CreateDirectory(dirName.c_str(), NULL);

//读取指定文件夹的文件数目
cv::String pattern = "./save/*.bmp";//
size_t cout;
cout = read_images_in_folder(pattern);

// 保存图片
char filesave[100];
cout++;//全局变量进行命名统一名称累加保存
sprintf_s(filesave, "./save/save%d.bmp", cout);
imwrite(filesave, my_camera.src);//保存图片到当前项目位置		

//读取当前文件夹图片的个数子程序
size_t read_images_in_folder(cv::String pattern)//读取当前指定目录的图片的个数
{
	vector<cv::String> fn;
	glob(pattern, fn, false);//OpenCV自带一个函数glob()可以遍历文件
	vector<Mat> images;
	size_t count = fn.size(); //number of png files in images folder	
	return count;
}

C++ 多线程

#include <iostream>
#include <thread>//多线程
#include <mutex>//mutex是用来保证线程同步的,防止不同的线程同时操作同一个共享数据。但是使用mutex是不安全的,当一个线程在解锁之前异常退出了,那么其它被阻塞的线程就无法继续下去。
using namespace std;


int cnt = 20;
mutex m;
void t1()
{
	while (cnt > 0)
	{
		lock_guard<mutex> lockGuard(m);//lock_guard则相对安全,它是基于作用域的,能够自解锁,当该对象创建时,它会像m.lock()一样获得互斥锁,当生命周期结束时,它会自动析构(unlock),不会因为某个线程异常退出而影响其他线程。
		if (cnt > 0)
		{
			--cnt;
			cout << cnt << endl;
		}

	}
}
void t2()
{
	while (cnt > 0)
	{
		lock_guard<mutex> lockGuard(m);
		if (cnt > 0)
		{
			--cnt;
			cout << "t2";
			cout << cnt << endl;
		}

	}
}
int main()
{

	thread th1(t1);
	thread th2(t2);

	th1.join();//线程执行后才执行下一个线程
	th2.join();

	system("pause");
	return 0;
}

C++ 常见错误解决

"Error: "const char"类型的实参与"LPCWSTR"类型的形参不兼容",解决方法:

项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。

operator()

IntelliSense:  在没有适当 operator() 的情况下调用类类型的对象或将函数转换到指向函数的类型   

猜你喜欢

转载自blog.csdn.net/weixin_41275726/article/details/84887469