利用VS根据文件目录结构创建C++工程自己简单实现的方法

本文介绍了如何在Visual Studio (VS)中利用现有代码创建C++项目,通过几步简单操作,结合使用tinyxml解析xml文件,自动生成符合原有目录结构的项目。首先在VS中选择‘从现有代码创建项目’,导入代码,然后通过解析项目生成的vcxproj.filters文件,用代码重建目录结构。
摘要由CSDN通过智能技术生成

相信程序员都有过这样的经历。

一些开源的C、C++代码库大多数是在linux下面开发的。为了能在windows下面用VS方便查看代码,可以利用VS根据已有代码来创建C++项目。简单步骤如下:

第一步:打开VS,点击“文件”菜单,在弹出菜单选择“新建”,最后选择“从现有代码创建项目”;


第二步:根据向导创建VC++项目,

找到已有代码的文件,添加进来

使用VS来生成项目,项目类型这里是控制台应用,最后点击完成就可以生成项目了。


最后生成的项目结构目录如下,一点层次结构都没有了:


第三步:自己写代码来实现自动建立目录结构,这里贴上自己写的代码:

#include <stdio.h>
#include "tinyxml/tinyxml.h"
#include <iostream>
#include <vector>
#include <set>
using namespace std;

#ifdef WIN32
//guid
#include <objbase.h>
#else
#include <uuid/uuid.h>
#endif

GUID CreateGuid()
{
	GUID guid;
#ifdef WIN32
	CoCreateGuid(&guid);
#else
	uuid_generate(reinterpret_cast<unsigned char *>(&guid));
#endif
	return guid;
}

std::string GuidToString(const GUID &guid)
{
	char buf[64] = { 0 };
#ifdef __GNUC__
	snprintf(
#else // MSVC
	_snprintf_s(
#endif
		buf,
		sizeof(buf),
		"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
		guid.Data1, guid.Data2, guid.Data3,
		guid.Data4[0], guid.Data4[1],
		guid.Data4[2], guid.Data4[3],
		guid.Data4[4], guid.Data4[5],
		guid.Data4[6], guid.Data4[7]);
	return std::string(buf);
}

void subDir(vector<string>& arr,string str,char sp)
{
	arr.push_back(str);
	for (size_t pos = str.find_last_of(sp); pos != string::npos; pos = str.find_last_of(sp))
	{
		str = str.substr(0, pos);
		arr.push_back(str);
	}
}

int main()
{
	set<string> OldDirset;
	set<string> NewDirset;
	char tmp[256];
	
	cout << "输入文件名!" << endl;
	cin >> tmp;
	string filepath = tmp;
	TiXmlDocument doc(filepath.c_str());

	bool b=doc.LoadFi
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值