随笔分类 - C/C++技巧随笔
1
摘要:常用的json序列化工具有jsoncpp,nlohmann.(nlohmann的使用一定要捕捉异常) 解析一些常用的json格式,上述工具的使用方式分别是什么。 备注:分割线的前者是nlohmann的使用,后者是jsoncpp的使用 序列化 nlohmann::json j="XXXXXX"; st
阅读全文
摘要:起因:想远程调试某个程序时,不太便利。某段代码直接跑过。Sleep不靠谱。 目的:程序刚启动时,就卡住,等待VS调式器加入,设置断点,可进行单步调试。 #ifdef _WIN32 #include <Windows.h> #include <debugapi.h> #endif #include <
阅读全文
摘要:#include <windows.h> // This is required to include before setupapi.h #include <setupapi.h> #include <Cfgmgr32.h> #include <iostream> #include <vector
阅读全文
摘要://返回.exe的文件名 void FindExeFile(std::string path, std::string mode, std::set<std::string> &saveExeFile) { _finddata_t file; intptr_t HANDLE; std::string
阅读全文
摘要:转载于:https://blog.csdn.net/Don211/article/details/51769515
阅读全文
摘要:bool RunConsoleAsAdmin(std::string appPath, std::string param, bool wait) { LOG_INFO << "RunConsoleAsAdmin start" << std::endl; if (!(std::experimental::filesystem::exists(appPath) && std::experimenta
阅读全文
摘要:比如X64系统无法使用X32目录下的cmd等等。如:winsat必须是X32目录下cmd才存在。 也可以重定向X64或X32的注册表
阅读全文
摘要:inline const char* const_basename(const char* filepath){ const char* base = strrchr(filepath, '/');#ifdef _WIN32 // Look for either path separator in
阅读全文
摘要:#include <iostream>#include <string>using namespace std; //去掉收尾空格string& ClearHeadTailSpace(string &str) { if (str.empty()) { return str; } str.erase(
阅读全文
摘要:double dumpSize = (1024000000.1415926535897932384 * 1.0) / 1024 / 1024; string tempStr = to_string(dumpSize); std::stringstream ss; ss << setiosflags(
阅读全文
摘要:// ProcessDemo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #include using namespace std; #include #pragma comment(lib,"psapi.lib") BOOL KillProcess(string...
阅读全文
摘要:BOOL ElevatePrivileges(){ HANDLE hToken; TOKEN_PRIVILEGES tkp; tkp.PrivilegeCount = 1; if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGE
阅读全文
摘要:#include "stdafx.h"#include<iostream>using namespace std;#include <Windows.h>#include<urlmon.h>#pragma comment (lib,"urlmon.lib") int _tmain(int argc,
阅读全文
摘要:#include <iostream>#include <fstream>#define JSON_IS_AMALGAMATION#include "json/json.h"using std::cout;using std::endl; int main(int argc, char** argv
阅读全文
摘要:jsoncpp 主要包含三个class:Value、Reader、Writer。注意Json::Value 只能处理 ANSI 类型的字符串,如果 C++ 程序是用 Unicode 编码的,最好加一个 Adapt 类来适配。 Json内部类和方法: Reader<是用于读取的,说的确切点,是用于将字
阅读全文
摘要:[class] Json::Reader [public] [将字符串或者输入流转换为JSON的Value对象] bool parse( const std::string &document, Value &root, bool collectComments = true ); bool par
阅读全文
摘要:字符串的ASCII和UNICODE之间的转换 1)Win32提供了API函数MultiByteToWideChar和WideCharToMultiByte来提供这种功能。 2)ATL还提供了另一套转换宏——CA2W、CA2T、CA2WEX、CA2CT、CW2T、CW2A、CW2AWXCW2A将宽字符
阅读全文
摘要:GetPrivateProfile系列函数 1)写入.ini文件: BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键
阅读全文
摘要:BOOL PathRemoveFileSpec( LPTSTR pszPath); 功能:删除路径后面的文件名和’/’符号。该函数可以分析出一个文件的路径。 例:char szpath[MAX_PATH]=”d://test//111.txt”; 调用PathRemoveFileSpec( szpa
阅读全文
摘要:// C++11Demo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; // QueryKey - Enumerates the subkeys of key and its
阅读全文
1