您当前的位置: 首页 >  c++

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++-数值转字符串-字符串转数值-分割字符串-链接字符串-去除尾部字符

插件开发 发布时间:2022-05-25 08:11:02 ,浏览量:1

文章目录
    • 1.ACPlusCommonUse.h
    • 2.ACPlusCommonUse.cpp
    • 3.作者答疑
  在采用C++进行程序开发时,经常会遇到数值转字符串、字符串转数值、分割字符串、连接字符串和去除尾部字符之类的问题,作者整理了下这方面的一些代码,供需要的读者使用,采用类的形式封装,分为ACPlusCommonUse.h文件和ACPlusCommonUse.cpp这两个文件。

1.ACPlusCommonUse.h
#pragma once
#include 
#include 
#include 
#include 
#include 

//是否为数字
bool CommonUse_IsNum(std::string str);

//分割字符串
std::vector CommonUse_SplitWithStl(const std::string str, const std::string pattern);

//链接字符串
std::string CommonUse_Join(const char** str,int size, const std::string pattern);
std::string CommonUse_Join2(char str[16][32],int size, const std::string pattern);

//模板函数:将string类型变量转换为常用的数值类型(此方法具有普遍适用性)
template 
bool CommonUse_StringToNum(const std::string str, Type& num)
{
	std::istringstream iss(str);
	if (!(iss >> num))
		return false;
	return true;
}

//模板函数:将string类型变量转换为常用的数值类型(此方法具有普遍适用性)
template 
bool CommonUse_NumToString(std::string& str, Type num)
{
	std::ostringstream oss(str);
	if (!(oss  d))
		return false;
	if (ss >> c)
		return false;
	return true;
}

//分割字符串
std::vector CommonUse_SplitWithStl(const std::string str, const std::string pattern)
{
	std::vector resVec;
	if ("" == str)
	{
		return resVec;
	}

	//方便截取最后一段数据
	std::string strs = str + pattern;
	size_t pos = strs.find(pattern);
	size_t size = strs.size();

	while (pos != std::string::npos)
	{
		std::string x = strs.substr(0, pos);
		resVec.push_back(x);
		strs = strs.substr(pos + 1, size);
		pos = strs.find(pattern);
	}

	return resVec;
}

//链接字符串
std::string CommonUse_Join(const char** str,int size, const std::string pattern)
{
	std::string rlt;
	for (int i=0;i            
关注
打赏
1665481431
查看更多评论
0.0401s