【CPP】随手记
2023-12-20 00:00:37
1. 随机数
#include <chrono>
#include <random>
/// @brief 生成随机数
/// @details 生成的随机数范围[@param min, @param max]
/// @tparam[in] T 随机数的数据类型
/// @param[in] _max 随机数的最大值(闭区间)
/// @param[in] _min 随机数的最小值(闭区间)
/// @return 随机数
template <class T>
T GenRand(T _max, T _min = 0) {
static_assert(std::is_integral<T>::value || std::is_floating_point<T>::value, "T must be an integral or float type");
std::default_random_engine e(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<T> u(_min, _max);
return u(e);
}
2. 获取应用程序文件名
#include <string>
std::string GetAppName(int argc, char *argv[]) {
std::string fullName(argv[0]);
std::string::size_type pos = fullName.find_last_of('/');
if (pos == std::string::npos) {
pos = fullName.find_last_of('\\');
if (pos == std::string::npos) {
return nullptr;
}
}
return fullName.substr(pos + 1);
}
3. 字符串分割
#include <regex>
std::vector<std::string> stringSplit(const std::string &str, char delim) {
std::string s(1, delim);
std::regex reg(s);
std::vector<std::string> elems(std::sregex_token_iterator(str.begin(), str.end(), reg, -1),
std::sregex_token_iterator());
return elems;
}
文章来源:https://blog.csdn.net/zhy29563/article/details/135095516
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!