资源简介
基于MFC实现的FTP可断点续传的客户端,实现了断点上传和断点下载的功能,可以运行,无论是学习还是拿到项目中使用都很有用。
代码片段和文件信息
#include “stdafx.h“
#include “FileLogger.h“
#include
#include
using std::string;
static FileLogger *instance = NULL;
CRITICAL_SECTION allocCriticalSection;
class FileLogger::Private
{
public:
Private(FileLogger *parent = 0);
~Private();
/* Data members */
CFile logFile;
string logFileName;
string logFileCopy;
private:
FileLogger *q;
};
FileLogger::Private::Private(FileLogger *parent): q(parent)
{
InitializeCriticalSection(&allocCriticalSection);
}
FileLogger::Private::~Private()
{
DeleteCriticalSection(&allocCriticalSection);
}
FileLogger::FileLogger(void)
{
d = new Private(this);
d->logFileName = “/Storage/HandHeld/log.txt“;
d->logFileCopy = “/Storage/HandHeld/logCopy.txt“;
instance = this;
Open();
}
FileLogger::~FileLogger(void)
{
Close();
delete d;
}
void FileLogger::Debug(string what)
{
what += “\r\n“;
string temp;
char buffer[15];
CTime currentTime = CTime::GetCurrentTime();
sprintf(buffer “%d:%d:%d “ currentTime.GetHour() currentTime.GetMinute() currentTime.GetSecond());
temp += string(buffer);
temp += what;
d->logFile.Write(temp.c_str() temp.length());
}
FileLogger* FileLogger::GetInstance()
{
EnterCriticalSection(&allocCriticalSection);
if(instance == NULL)
instance = new FileLogger();
LeaveCriticalSection(&allocCriticalSection);
return instance;
}
void FileLogger::Open(FileLogger::OpenMode mode)
{
if(mode == Truncate)
d->logFile.Open(CString(d->logFileName.c_str()) CFile::modeCreate | CFile::modeWrite);
else
{
d->logFile.Open(CString(d->logFileName.c_str()) CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);
d->logFile.SeekToEnd();
}
}
void FileLogger::Close()
{
Flush();
d->logFile.Close();
}
void FileLogger::Flush()
{
d->logFile.Flush();
}
void FileLogger::WriteErrorTag()
{
string error(“\r\n\r\n ----------> Log - Error“);
d->logFile.Write(error.c_str() error.length());
Close();
CopyFile(CString(d->logFileName.c_str()) CString(d->logFileCopy.c_str()) FALSE);
Open(Append);
d->logFile.Write(“\r\n\r\n ----------> Log - Restart“ strlen(“\r\n\r\n ----------> Log - Restart“));
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-12-31 14:36 FtpClient\
目录 0 2014-01-03 09:49 FtpClient\.svn\
文件 3 2013-09-25 11:02 FtpClient\.svn\entries
文件 3 2013-09-25 11:02 FtpClient\.svn\format
目录 0 2014-01-03 09:49 FtpClient\.svn\pristine\
目录 0 2013-12-31 14:38 FtpClient\.svn\pristine\02\
文件 264 2013-12-31 14:38 FtpClient\.svn\pristine\02\02e5c5bb18e3347d89a48b69024abb81c073d441.svn-ba
目录 0 2013-09-25 11:02 FtpClient\.svn\pristine\06\
文件 1474 2013-09-25 11:02 FtpClient\.svn\pristine\06\067d69c7831a8005b417203147fa0875fd83a987.svn-ba
目录 0 2013-09-25 11:08 FtpClient\.svn\pristine\0a\
文件 24304 2013-09-25 11:08 FtpClient\.svn\pristine\0a\0a91ff1013fd346f14fc4714a0d81ee1daab3e6f.svn-ba
目录 0 2014-01-03 09:49 FtpClient\.svn\pristine\15\
文件 923 2014-01-03 09:49 FtpClient\.svn\pristine\15\151a2d354fcba2a33af44848ba3fb83d159bbb80.svn-ba
目录 0 2013-12-31 14:38 FtpClient\.svn\pristine\17\
文件 483 2013-12-31 14:38 FtpClient\.svn\pristine\17\17f3af07ef2398ed01cb25f405f921805784dc00.svn-ba
目录 0 2013-09-25 11:02 FtpClient\.svn\pristine\1c\
文件 886 2013-09-25 11:02 FtpClient\.svn\pristine\1c\1c5126675111f027f2da0b17cf56f6fab7a510bf.svn-ba
目录 0 2013-12-31 14:38 FtpClient\.svn\pristine\1d\
文件 1090 2013-12-31 14:38 FtpClient\.svn\pristine\1d\1d9f864a7a9a078c14c88f29fcf471f91dce4c1b.svn-ba
目录 0 2014-01-03 09:49 FtpClient\.svn\pristine\22\
文件 7608 2014-01-03 09:49 FtpClient\.svn\pristine\22\22beb8d8988af31518ea744b21c76a16e076850b.svn-ba
目录 0 2013-09-25 11:08 FtpClient\.svn\pristine\33\
文件 3471 2013-09-25 11:08 FtpClient\.svn\pristine\33\33718b3ff5050d5d4d3833174725f7c8b6b4c96e.svn-ba
目录 0 2013-09-25 11:02 FtpClient\.svn\pristine\36\
文件 92 2013-09-25 11:02 FtpClient\.svn\pristine\36\365ea9ea29cb184894117c7e698b42fba1e4c6fb.svn-ba
目录 0 2013-12-31 14:37 FtpClient\.svn\pristine\37\
文件 1363 2013-12-31 14:37 FtpClient\.svn\pristine\37\376aabcd2790fd0c2ee0eae4101355ccd23b1ccf.svn-ba
目录 0 2013-12-31 14:37 FtpClient\.svn\pristine\3b\
文件 7776 2013-12-31 14:37 FtpClient\.svn\pristine\3b\3bcbac96482755bbfe799f74a9f254f4f0a3d98c.svn-ba
目录 0 2013-09-25 11:02 FtpClient\.svn\pristine\3f\
文件 1343 2013-09-25 11:02 FtpClient\.svn\pristine\3f\3f64195bf9fad17ad8505a5af171f9d94c6d2d0a.svn-ba
............此处省略57个文件信息
- 上一篇:关于STM8的I2C实用例程2
- 下一篇:斗地主课程设计 c语言版
相关资源
- 超简单的ntrip客户端C语言实现.docx
- C语言实现FTP服务器
- 邮件发送程序客户端----VC实现
- 用c语言编程ftp程序,并实现基本功能
- Visual C++ 开发OPC 客户端
- 基于CCS和ICETEK5509实验箱FFT算法的C语言
- FTP服务器C++代码实现
- OpenSSL+VC6.0 实现的安全Web Server 客户端
- QICQ网络即时聊天服务器和客户端VC源
- 用C语言实现的TCP服务器与客户端源代
- c++实现ftp list所有文件与目录 & ftp d
- C++ builder 网络传输程序含服务器和客
- tftp_vs2010.rar
- FTP客户端程序设计(基于visual c++)
- VC++ 实现FTP客户端与服务器
- Ftp服务器与客户端VC++完整版源码
- FTP文件上传和管理类C++
- WIN32 select 模型之客户端
- Linux下C语言编写服务端、客户端程序
- 基于SOCKET的文件传输服务端+客户端
- vc++ tcp 客户端和服务器端
- MFC:Socket编程—TCP服务端和多个客户
- linux下网络编程TCP客户端和服务器端数
- C++聊天室客户端+服务端
- ftp客户端及服务器 mfc 网络高级程序设
- OPC客户端源代码
- TFTP协议的C语言实现客户端和服务器
- VC++实现客户端与服务器端的文件传输
- C语言设计一个服务器程序和一个客户
- 简单WinInet FTP客户端编程
评论
共有 条评论