C++ VS2010 一个解决方案下多个项目间的数据调用
2016-12-26 23:02
453 查看
需求是这样,一个vs的解决方案,下面有两个项目 a和b,需要把a项目中一个变量的值传递到b项目中,尝试了全局变量的方法,在a项目的头文件声明全局变量,在a项目的源文件初始化这个变量。在b项目中引用那个头文件,把全局变量的值全给b项目中的一个变量。这样代码不会报错,但是传过来的值是空的。全局变量的没办法跨项目。
所以我用了这种方式,在工程文件夹下放进去一个txt文件,执行a工程是,把想要的数据写入txt文件中:
到b工程下,从txt文本中读到想要的数据,让进string,用string类中的函数截取出想要的内容,我是把数据当做图片的名称,保存图片
这种方式很麻烦,自己感觉都很low,但是功能上是可以实现的,以后找到更好的方法在更新
所以我用了这种方式,在工程文件夹下放进去一个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,但是功能上是可以实现的,以后找到更好的方法在更新
相关文章推荐
- (C#)一个解决方案下的多个项目之间互相调用
- Winform 解决方案中两个工程的调用/在VS2010如何方便地重命名一个项目
- VS2010使用MFC创建绿色软件及单文档和多文档及一个解决方案包含多个项目的解决方法
- vs2010 一个解决方案 多个项目 调试
- 同一个解决方案中,一个项目怎么都调用不了另一个类库中的类(已解决)
- 同一个解决方案中,一个项目怎么都调用不了另一个类库中的类
- C#中一个解决方案中有多个项目,如和选择运行特定项目。
- 如何:发布一个解决方案中的多个项目
- C++开发中一个解决方案里,两个项目的相互引用,相互依赖的实现方法(解决方法)
- 一个解决方案多个项目共用一个cs文件
- VS2012在一个解决方案中添加多个项目(工程)
- 方法:VS中解决方案的多个项目共用一个文件 如CS文件或配置文件等
- .net同一个解决方案下面多个web项目的解决方法
- visual studio中,一个解决方案中含有多个项目,如何才能执行我想运行的项目?
- VS2010打开项目提示未能正确加载解决方案中一个或多个项目
- VS2010如何让两个或者多个项目共享同一个文件
- 一个解决方案中有两个项目,一个项目调用另一个项目中的函数
- .net同一个解决方案下面多个web项目。目的为了较大项目分解模块,各自编译开发!
- 点击VS2010解决方案中的某个项目的任意一个文件导致VS开发环境关闭
- C#中一个解决方案中有多个项目,如和选择运行特定项目。