基础知识
文章平均质量分 64
stone-jin
这个作者很懒,什么都没留下…
展开
-
获取字符串中最后出现的一个字符的位置
#include #include using namespace std;int main(int argc, char** argv){ const char* pcExePath = argv[0]; cout << pcExePath << endl; const char* pcLast = strrchr(pcExePath, '\\');原创 2015-12-31 09:38:40 · 7581 阅读 · 0 评论 -
MFC中如何从Unicode到多字节的转换
std::string cStringToString(const CString& src, UINT codepage = CP_UTF8){ std::string dst; if (src.IsEmpty()) { dst.clear(); return ""; } int length = ::WideCharT原创 2016-01-30 16:29:01 · 2038 阅读 · 0 评论 -
关于文件查找遍历,windows下的使用
应用场合:如图片服务器,用C语言写的程序,进行图片管理。 如视频服务器,用C语言写的程序,进行视频管理,视频查询。代码:void FindFile(const char* pFilePath){ WIN32_FIND_DATA findFileData; HANDLE hFind = INVALID_HANDLE_VALUE;原创 2016-01-07 13:17:57 · 402 阅读 · 0 评论 -
理解CRITICAL_SECTION
定义:CRITICAL_SECTION fMutex; /* 声明一个临界区 */::InitializeCriticalSection(&fMutex); /* 初始化临界区 */::EnterCriticalSection(&fMutex); /* 进入临界区 */BOOL bResult = ::TryEnterCriticalSection(&fMutex); /* 尝试进入临转载 2016-01-04 19:17:32 · 1627 阅读 · 0 评论 -
windows下遍历当前任务管理器中的服务的列表
#include #include using namespace std;int main(int argc, char** argv){ SC_HANDLE hScm = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); if(NULL == hScm) { return -1;原创 2016-01-20 15:24:38 · 1299 阅读 · 0 评论 -
windows下面读取注册表信息
#include #include using namespace std;int main(int argc, char** argv){ HKEY hKey = {0}; long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\PostgreSQL\\Installations\\postgresql-9.5"原创 2016-01-20 13:09:57 · 694 阅读 · 0 评论 -
windows下如何防止启动两个一样的进程
方法用互斥量,Mutex来解决,因为Mutex有进程互斥的作用,而临界区则没有进程互斥功能。方法如下:#include using namespace std;#include int main(int argc, char** argv){ HANDLE handle = CreateMutex(NULL, TRUE, "daserver"); if ((Ge原创 2016-01-19 23:12:51 · 1583 阅读 · 0 评论 -
时间转换代码
#include #include #include using namespace std;int main(int argc, char** argv){ time_t current_time = {0}; current_time = time(NULL); tm* data = localtime(¤t_time); char buf[64原创 2015-12-31 09:21:00 · 1494 阅读 · 0 评论 -
\r,\n,\r\n的区别
\n是换行,英文是New line,表示使光标到行首。\r是回车,英文是Carriage return,表示使光标下移一格。\r\n表示回车换行我们再平时使用电脑时,已经习惯了回车和换行一次搞定,敲一格回车键,即是回车,又是换行。1.\n 软回车在Windows中表示换行且回到下一行的最开始位置。相当于Mac OS里的\r的效果。在Linux,unix中只表转载 2015-12-31 10:51:39 · 1099 阅读 · 0 评论 -
关于Windows下做动态插件,需要用到的LoadLibrary的代码
有时候,代码中并不需要提前加载所有的dll,这时候可以选择使用LoadLibrary,GetProcAddress,FreeLibrary这三个函数来加载插件,而对应的插件部分编译成动态库。适用场景:如各厂商的插件的时候下面给出例子:main函数部分,负责获取路径,并通过LoadLibrary加载,然后GetProcAddress获取函数地址,然后FreeLibrary原创 2015-12-31 10:33:52 · 1773 阅读 · 0 评论