#include "stdafx.h"#include <iostream> #include <string.h> #include <map> #include <list> #include <vector> using namespace std; #define MAX_NAME_LENGTH 64 #define MAX_PATH 260 typedef struct NODE { char uuid[MAX_NAME_LENGTH]; // char FileName[MAX_PATH]; //远程文件的绝对路径 char LocalFile[MAX_PATH]; //当前文件的觉得路径 long long size; long long downsize; int flag; int hostid; //连接 的id号,若为零,表示不在线
}NODE;class CDownloadFileInfo { public: //DownlaodFile(); CDownloadFileInfo(); long long getSize(); void setSize(long long size); long long getDownSize(); void setDownSize(long long size); int getFlag(); void setFlag(int flag); int getHostid(); void setHostid(int hostid); int setFileName(char *name); int setUuid(char *uuid); int setLocalFile(char *name);
#include <string.h>
#include <map>
#include <list>
#include <vector>
using namespace std;
#define MAX_NAME_LENGTH 64
#define MAX_PATH 260
typedef struct NODE
{
char uuid[MAX_NAME_LENGTH]; //
char FileName[MAX_PATH]; //远程文件的绝对路径
char LocalFile[MAX_PATH]; //当前文件的觉得路径 long long size;
long long downsize;
int flag;
int hostid; //连接 的id号,若为零,表示不在线
}NODE;class CDownloadFileInfo
{
public:
//DownlaodFile();
CDownloadFileInfo();
long long getSize();
void setSize(long long size); long long getDownSize();
void setDownSize(long long size); int getFlag();
void setFlag(int flag); int getHostid();
void setHostid(int hostid);
int setFileName(char *name);
int setUuid(char *uuid);
int setLocalFile(char *name);
char * getFileName();
char * getUuid();
char * getLocalFile();public:
NODE file;};CDownloadFileInfo::CDownloadFileInfo()
{
memset(&file,0,sizeof(NODE));
file.hostid = 0;//先初始化为没有连接
file.flag = 0;
file.size = 0;
file.downsize = 0;
}long long CDownloadFileInfo:: getSize()
{
return file.size;
}void CDownloadFileInfo::setSize(long long size)
{
file.size = size;
}long long CDownloadFileInfo:: getDownSize()
{
return file.downsize;
}void CDownloadFileInfo::setDownSize(long long downsize)
{
file.downsize = downsize;
}int CDownloadFileInfo::getFlag()
{
return file.flag;
}void CDownloadFileInfo::setFlag(int flag)
{
file.flag = flag;
}int CDownloadFileInfo::getHostid()
{
return file.hostid;
}void CDownloadFileInfo::setHostid(int hostid)
{
file.hostid = hostid;
}int CDownloadFileInfo::setFileName(char *name)
{
if (name == NULL)
{
return 0;
}
memcpy(file.FileName,name,strlen(name)+1);
}int CDownloadFileInfo::setUuid(char *uuid)
{
if (uuid == NULL)
{
return 0;
}
memcpy(file.uuid,uuid,strlen(uuid)+1);
}int CDownloadFileInfo::setLocalFile(char *name)
{
if (name == NULL)
{
return 0;
}
memcpy(file.LocalFile,name,strlen(name)+1);
}char * CDownloadFileInfo::getFileName()
{
return file.FileName;
}char * CDownloadFileInfo::getUuid()
{
return file.uuid;
}char * CDownloadFileInfo::getLocalFile()
{
return file.LocalFile;
}
int main()
{
list<CDownloadFileInfo> listfile; CDownloadFileInfo file,file2;
long long size = 34;
file.setSize(0);
file2.setSize(size); listfile.push_back(file);
listfile.push_back(file2); list<CDownloadFileInfo>::iterator iter_file;
cout << "list5: "<<endl; for (iter_file=listfile.begin();iter_file!=listfile.end();)
{
cout<<"ID:"<<iter_file->getSize()<<" Name:"<<endl;
long long i = iter_file->getSize();
if (i == 0)
{
iter_file = listfile.erase(iter_file);
//iter_file->setSize(234);
}
else
{
iter_file++;
}
} cout<<"after!!!"<<endl;
for (iter_file=listfile.begin();iter_file!=listfile.end();iter_file++)
{
cout<<"ID:"<<iter_file->getSize()<<" Name:"<<endl;
}
getchar();
return 0;}