level 2
guocong89
楼主
请问visual Studio 的解决方案一次只能打开一个么?想同时打开多个工程,就要把它们放在同一解决方案下是么?
但是这样的话这些工程的默认输出路径就是解决方案所在的目录,还要在属性中改一下,有没有简单点的方法?
还有,使用"清理项目"工具会把生成的.exe也删除掉,怎么能只删除中间文件而保留 .exe呢?
我在vc6.0下写了个压缩函数,在vc下编译后完全正常,可是在vs2008下编译完却不能运行,请问怎么回事?
谢谢各位大牛的帮助啊!!谢谢啊!!
#include "stdlib.h"
#include "iomanip"
#include"string.h"
#include"stdio.h"
#include"fstream"
#include "iostream"
#include "ctype.h"
#include "windows.h"
#include "direct.h"
using namespace std;
#define MaxLen 4//最大不压缩的连续字符数
#define DIVIDE '`'//标识符
#define Fout(pre) if((pre)==DIVIDE) fout<<DIVIDE;fout<<(pre)
#define NOTE "`guocongguocong`"//新文件标识符
#define MaxDirLength 250//文件路径长度
bool zipdir=false;//是否压缩文件夹,全局性变量
int globalDirLen=0;//压缩文件夹的根目录长度
long infilesize=0;
int findallfiles(const char *dir , const char *keyfile);//搜索所有文件并压缩
const long fileLen(const char *filename);//获取文件长度
void fout2(ofstream &fout,char ch,int count);//压缩时向文件中输入压缩数据
void preset(ofstream &fout,const char *finname);//压入文件信息
const int rlezip(const char *finname,const char *foutname);//压缩主程序
bool isdir(const char *dir);//判断压缩对象是否是文件夹
int relativeAddress(char *dir);//获得相对路径
int trans(char *dir);//获取文件夹根目录的文件夹名长度
bool isEmptyDir(const char *dir);//判断文件夹是否为空
int printFinalInfo(char *fout);//输出压缩信息
int main(int argc,char* argv[])
{
ifstream fin;
if( argc == 3 )
{
if(argv[1][0]=='*'){//压缩当前目录
char curdir[200]={0};
_getcwd(curdir,200);
findallfiles(curdir,argv[2]);
}
else if(isdir(argv[1])) {//压缩文件夹
zipdir=true;
if(argv[1][1]!=':' ){
char curdir[200]={0};
_getcwd(curdir,200);
strcat(curdir,"\\");
strcat(curdir,argv[1]);
globalDirLen=trans(curdir);
findallfiles(curdir,argv[2]);
printFinalInfo(argv[2]);
return 0;
}
globalDirLen=trans(argv[1]);
findallfiles(argv[1],argv[2]);
}
else rlezip(argv[1],argv[2]);//压缩单文件
printFinalInfo(argv[2]);
}
2009年03月24日 01点03分
1
但是这样的话这些工程的默认输出路径就是解决方案所在的目录,还要在属性中改一下,有没有简单点的方法?
还有,使用"清理项目"工具会把生成的.exe也删除掉,怎么能只删除中间文件而保留 .exe呢?
我在vc6.0下写了个压缩函数,在vc下编译后完全正常,可是在vs2008下编译完却不能运行,请问怎么回事?
谢谢各位大牛的帮助啊!!谢谢啊!!
#include "stdlib.h"
#include "iomanip"
#include"string.h"
#include"stdio.h"
#include"fstream"
#include "iostream"
#include "ctype.h"
#include "windows.h"
#include "direct.h"
using namespace std;
#define MaxLen 4//最大不压缩的连续字符数
#define DIVIDE '`'//标识符
#define Fout(pre) if((pre)==DIVIDE) fout<<DIVIDE;fout<<(pre)
#define NOTE "`guocongguocong`"//新文件标识符
#define MaxDirLength 250//文件路径长度
bool zipdir=false;//是否压缩文件夹,全局性变量
int globalDirLen=0;//压缩文件夹的根目录长度
long infilesize=0;
int findallfiles(const char *dir , const char *keyfile);//搜索所有文件并压缩
const long fileLen(const char *filename);//获取文件长度
void fout2(ofstream &fout,char ch,int count);//压缩时向文件中输入压缩数据
void preset(ofstream &fout,const char *finname);//压入文件信息
const int rlezip(const char *finname,const char *foutname);//压缩主程序
bool isdir(const char *dir);//判断压缩对象是否是文件夹
int relativeAddress(char *dir);//获得相对路径
int trans(char *dir);//获取文件夹根目录的文件夹名长度
bool isEmptyDir(const char *dir);//判断文件夹是否为空
int printFinalInfo(char *fout);//输出压缩信息
int main(int argc,char* argv[])
{
ifstream fin;
if( argc == 3 )
{
if(argv[1][0]=='*'){//压缩当前目录
char curdir[200]={0};
_getcwd(curdir,200);
findallfiles(curdir,argv[2]);
}
else if(isdir(argv[1])) {//压缩文件夹
zipdir=true;
if(argv[1][1]!=':' ){
char curdir[200]={0};
_getcwd(curdir,200);
strcat(curdir,"\\");
strcat(curdir,argv[1]);
globalDirLen=trans(curdir);
findallfiles(curdir,argv[2]);
printFinalInfo(argv[2]);
return 0;
}
globalDirLen=trans(argv[1]);
findallfiles(argv[1],argv[2]);
}
else rlezip(argv[1],argv[2]);//压缩单文件
printFinalInfo(argv[2]);
}