⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waros.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "StdAfx.h"#include "WarOs.h"   // class implemented#ifndef WAR_FSTREAM_INCLUDED#   define WAR_FSTREAM_INCLUDED#   include <fstream>#endif/////////////////////////////// PUBLIC ///////////////////////////////////////WarOs *WarOs::mspThis;//============================= LIFECYCLE ====================================WarOs::WarOs() throw(WarException){    if (mspThis)        WarThrow(WarError(WAR_ERR_ALREADY_INITIALIZED), NULL);#ifdef WIN32    mOsInfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);    GetVersionEx(&mOsInfo);#endif    mspThis = this;}// WarOsWarOs::~WarOs(){    if (mspThis == this)        mspThis = NULL;}// ~WarOs//============================= OPERATORS ====================================//============================= OPERATIONS ===================================WarOs::tmpfile_path_t WarOs::GetNewTmpFileName(tmpfile_ccstr_t tmpPath,                          tmpfile_ccstr_t preFix){    return mTmpName.GetTmpName(tmpPath, preFix);}//============================= ACCESS     ===================================//============================= INQUIRY    ===================================bool WarOs::IsNt() const{#ifdef WIN32    return VER_PLATFORM_WIN32_NT == mOsInfo.dwPlatformId;#else    return false;#endif}std::string WarOs::GetOsName() const{#ifdef WIN32    SYSTEM_INFO si;	GetSystemInfo(&si);    LPCSTR CPU = "";	switch(si.wProcessorArchitecture)	{		case PROCESSOR_ARCHITECTURE_INTEL: CPU = "x86"; 			switch(si.wProcessorLevel & 0xff)			{				case 3: CPU = "i386"; break;				case 4: CPU = "i486"; break;				case 5: CPU = "Pentium"; break;				case 6: CPU = "Pentium pro/II/III/IV"; break;			}			break;		case PROCESSOR_ARCHITECTURE_MIPS: CPU = "Mips"; 			break;		case PROCESSOR_ARCHITECTURE_PPC: CPU = "PPC"; 			break;		case PROCESSOR_ARCHITECTURE_ALPHA: CPU = "Alpha"; 			switch(si.wProcessorLevel)			{				case 21064: CPU = "Alpha 21064"; break;				case 21066: CPU = "Alpha 21066"; break;				case 21164: CPU = "Alpha 21164"; break;			}			break;	}    char buf[128];    sprintf(buf,"Microsoft Windows (%s %d.%d %d %s %d-CPU)",			(mOsInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) ? "Win9X/ME"				: (mOsInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? "NT/2000" : "Unknown",			mOsInfo.dwMajorVersion,			mOsInfo.dwMinorVersion,			mOsInfo.dwBuildNumber,			CPU,			si.dwNumberOfProcessors);        return buf;#elif defined(HAVE_UNAME)    struct utsname uts;    memset(&uts, 0, sizeof(uts));    if (uname(&uts) == 0)    {        std::string rval;        rval = uts.sysname;        rval += " (";        rval += uts.release;        rval += ' ';        rval += uts.version;        rval += ' ';        rval += uts.machine;        rval += ')';        return rval;    }#endif    return "Generic UNIX/POSIX";}/////////////////////////////// PROTECTED  ////////////////////////////////////////////////////////////////// PRIVATE    ///////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -