前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ VS2010 一个解决方案下多个项目间的数据调用

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

作者头像
chaibubble
发布2022-05-07 09:02:54
3090
发布2022-05-07 09:02:54
举报
文章被收录于专栏:深度学习与计算机视觉

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

代码语言:javascript
复制
	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类中的函数截取出想要的内容,我是把数据当做图片的名称,保存图片

代码语言:javascript
复制
	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,但是功能上是可以实现的,以后找到更好的方法在更新

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档