C++ VS2010 一个解决方案下多个项目间的数据调用

需求是这样,一个vs的解决方案,下面有两个项目 a和b,需要把a项目中一个变量的值传递到b项目中,尝试了全局变量的方法,在a项目的头文件声明全局变量,在a项目的源文件初始化这个变量。在b项目中引用那个头文件,把全局变量的值全给b项目中的一个变量。这样代码不会报错,但是传过来的值是空的。全局变量的没办法跨项目。
所以我用了这种方式,在工程文件夹下放进去一个txt文件,执行a工程是,把想要的数据写入txt文件中:

	char ad[128] = { 0 };
	for (int i = 11; i <14; i++)
	{
		sprintf_s(ad, "D:\\image\\%d.jpg",i);
		//把图片名称路径写入txt文本
		FILE *writefp;
		int j = 0;
		if ((writefp = fopen("bianliang.txt", "r+")) == NULL)  //读取1.txt的文件
		{
			printf("读取文件失败 \n ");
			exit(1);
		}
		std::cout << "读取" << "成功" << std::endl;
		printf(" 现在写入文件 \n "); //从这里开始
		while (ad[j++] != '\0')
		{
			fputc(ad[j], writefp);
		}
		fclose(writefp);//关闭

到b工程下,从txt文本中读到想要的数据,让进string,用string类中的函数截取出想要的内容,我是把数据当做图片的名称,保存图片


	FILE *readfp;
		int ret, i = 0;
		char s[100][81];
		if ((readfp = fopen("bianliang.txt", "r")) == NULL)
			printf("The file fscanf.out was not opened\n");
		else//写入s数组
		{
			while ((ret = fscanf(readfp, "%s", s[i]) != EOF))
			{
				i++;
			}
		}
		string name(s[0]);//数组中的数据放入字符串
		fclose(readfp);//关闭
		//截取数据
		size_t iPos = name.find(".");
		string ss = name.substr(8, iPos-8);
		//截取的数据写入adname数组
		char adname[128] = { 0 };
		sprintf_s(adname, "D:\\save\\%s.jpg", ss.c_str());
		imwrite(adname, img_window);

这种方式很麻烦,自己感觉都很low,但是功能上是可以实现的,以后找到更好的方法在更新

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值