随笔分类 - c++!
摘要:方式一: /** * @brief 构造http结果字符串. */ void GenHttpResponse(const int code, const char* msg, const char* token, rapidjson::Document& doc) { doc.SetObject()
阅读全文
摘要:BM算法-阮一峰的网络日志; 以上给出了通俗易懂的算法讲解,下面给出代码实现,使用的宽字符,这样就不限于英文字母了:(stdafx.h编译不过去就屏蔽掉) 一些例子分析过程: 主字符串: THIS IS A SIMPLE EXAMPLE (长度:24)搜索字符串: EXAMPLE (长度:7) ma
阅读全文
摘要:/*使用unsigned const char*纯碎是为了配合项目,改成char*会比较通用些*/BOOL CDllSuiteEngine::Time_StrToType(unsigned const char* lpszValue, SYSTEMTIME &time){ if (!lpszV...
阅读全文
摘要:转自:http://hi.baidu.com/ghymark/blog/item/65b8643ebc3c08ff15cecbac.html最新在偶的老笔记本上装了个VS2010,界面还是一如既往地炫,但是新问题就来了,这个版本的VS没有本地的MSDN,只有联机的帮助,这对于 处在网速仍处在青铜时代...
阅读全文
摘要:1. 避免使用空格,使用下划线代替吧 (空格比较特殊 而且容易多)2. 涉及英文外的其他语言,尽量使用宽字符吧(UNICODE)欢迎补充,陆续更新..
阅读全文
摘要:******************************* *如何写入和获取软件版本信息(VS环境下)* *******************************如何写入软件版本信息:很简单,创建一个基于MFC的dll工程就会自动生成一个resource.rc文件,把里面版本信息相关的东西复制过来稍加修改即可。///////////////////////////////////////////////////////////////////////////////// 版本// VS_VERSION_INFO VERSIONINFO FILEVERSION ...
阅读全文
摘要:补充代码:要求实现统计一个字符串中单词的数目,空格作为间隔int WordNum(char* str){ int num = 0, flag = 0; while(*str) { if(_1_ == ' ') flag = 0; else { if(_2_) { flag = 1; num++; } } } return num;}以下是我的AC代码:int Wo...
阅读全文
摘要:网上看到有些人是自己封装了一些中断函数,比如调用__asm{INT 21H};等。突然想到,可以直接用C++语言本身提供的try..catch语句啊。FOOL -.-写了一个测试类:#pragma once#include #include using namespace std;class CTestClass{public: CTestClass(UINT64 qwPosBegin, UINT64 qwPosEnd) { try { INT64 qwSize = (INT64)(qwPosEnd - qwPosBegin); ...
阅读全文
摘要:打印格式:__int64 %I64dunsigned __int64 %I64uWindows下做了一些封装:INT64 UINT64_snprintf_s swprintfstrcpy wcscpy wcscpyhttp://msdn.microsoft.com/zh-cn/library/kk6xf663.aspx长度计算: strlen wcslen _tcslen
阅读全文
摘要:唉,不能道听途说,"assert()在Release模式也会起作用的",需要自己动手测试才行。下面的测试证明:assert函数在Release模式是不会起作用的。测试类CTestClass:#pragma once#include #include using namespace std;class CTestClass{public: CTestClass(UINT iPosBegin, UINT iPosEnd) { m_iPosBegin = iPosBegin; m_iPosEnd = iPosEnd; m_iExpectSize ...
阅读全文
摘要:玩计算机的人时间长了就会对各种Pro Word产生莫名其妙的兴趣:')Conversion tableName -Symbol -Binary Measurement -Decimal Measurement -Number of Bytes -Equal toKiloByteKB2101031,0241,024BMegaByteMB2201061,048,5761,024KBGigaByteGB2301091,073,741,8241,024MBTeraByteTB24010121,099,511,627,7761,024GBPetaBytePB25010151,125,899,90
阅读全文
摘要:一般来说,实现URL Redirect的过程是这样的:1.给Server发一个被Redirect的URL2.Server的返回值如果是301(永久转移)或其他相关值,就证明你刚才访问的URL被重定向了,这时接收重定向到URL继续发送请求现实中可能存在多次重定向的URL,这时候如果不断去请求被重定向的URL的话,可能会面临超时的问题。解决方法还没想过。使用WinINet的HttpQueryInfo+HTTP_QUERY_LOCATION时返回12150(Server找不到指定的字段),应该是你必须请求一个可以重定向的URL才能接收到吧。不过也挺奇怪的:你返回空也行啊,为什么直接函数执行失败呢。参
阅读全文
摘要:绝对路径转相对路径可以使用:PathRelativePathTo相对路径转绝对路径好像没有现成的。可以考虑 GetCurrentDirectory GetModuleFileName PathStripPath 等。问题描述:需要根据Path来判断它属于那个分区。但是不支持相对路径。目标: 支持相对路径和绝对路径。解决方法:char GetDriveName(LPWSTR lpszPath){ //we assume that the lpszPath passed in is valid, if not, Results Not Guaranteed. WCHAR szBuffe...
阅读全文
摘要:一般来说,类UNIX系统中使用的是正斜杠,如/etc Windows系统则使用的是反斜杠\但是在Windows上编程经常要使用两个反斜杠,如C:\\Windows唉,究其原因,是设计Windows的人为了与UNIX系统区分开,故意将正斜杠改成了反斜杠。而他没有考虑到反斜杠同时也是C++的转义字符,因此早期Windows系统中的文件名是不能含有空格的,而Unix则可以很好的通过转义字符\来指定。比如cd MyDir\ MyThing命令行会正确的辨认出"MyDir MyThing"并进入这个目录。当然,现在Windows的后续版本已经使用其它方法(比如文件名用双引号括住)解决
阅读全文
摘要:void main(){ const int ARRAY_LEN = 20; char szPathTest[][ARRAY_LEN] = {"C:\\What.nani", "Why.nani", ".\\Where.nani", "..\\When.nani", "...How.nani", "?Why.nani", "...\\How.nani" }; int len = sizeof(szPathTest) / sizeof(szPathTest[
阅读全文
摘要:MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/aa385351%28v=vs.85%29.aspxQuery Info FlagsThe following lists contain the attributes and modifiers used by HttpQueryInfo and QueryInfo.The attribute flags are used by HttpQueryInfo (or QueryInfo) to indicate what data to retrieve. Most of
阅读全文
摘要:主要有:ReadPrivateProfileString WritePrivateProfileString ReadPrivateProfileInit WritePrivateProfileInt需要注意的一点是:GET方法可能需要使用者提供一个如果获取失败用来代替的值。测试代码:void ma...
阅读全文
摘要:#include #pragma comment(lib,"wininet.lib")using namespace std;void CrackUrl(){#define MAX_LEN 100 URL_COMPONENTS uc; WCHAR Scheme[MAX_LEN]; WCHAR HostName[MAX_LEN]; WCHAR UserName[MAX_LEN]; WCHAR Password[MAX_LEN]; WCHAR UrlPath[MAX_LEN]; WCHAR ExtraInfo[MAX_LEN]; uc.dwStr...
阅读全文
摘要:KEY: UTF-16.至少在我的Windows平台+vs2008使用sizeof(WCHAR)已测试就知道了。引用9楼的回复:由实现定义:ISOC++112.3/3...Theexecutioncharactersetandtheexecutionwide-charactersetareimplementation-definedsupersetsofthebasicexecutioncharactersetandthebasicexecutionwide-ch……没看懂,不过确定的是微软的编译器是UTF-16《windows核心编程》ANSIandUnicodeCharacterandSt
阅读全文
摘要:可以的。所以,以下代码就不正确了(修改:PROCESSOR_ARCHITECTURE_AMD64虽然看起来很硬件,但其实是一个软件层次上的tag,而且下面的代码没有问题): if (osvi.dwMajorVersion >= 6) { if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) Result = Result + " 64-bit"; else if (si.wProcessorArchitecture == ...
阅读全文

浙公网安备 33010602011771号