前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >string、char中将单个字符转化为数字的几种方法[通俗易懂]

string、char中将单个字符转化为数字的几种方法[通俗易懂]

作者头像
全栈程序员站长
发布2022-08-02 10:35:26
1.2K0
发布2022-08-02 10:35:26
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

在string中,string s = “12345”

如果想提取出每一位的数字,即分别得到1,2,3,4,5,怎么做呢

需要用到substr和c_str

substr:拷贝子字符串

string s1 = s.substr(0,2);//从下标0开始,拷贝2位

则s1 = “12”;

c_str:返回字符串的指针

代码如下:

代码语言:javascript
复制
int main() 
{	
	string s = "12345"; 
	for (int i = 0; i < s.size(); i++)
	{
		int temp = atoi(s.substr(i, 1).c_str());
		cout << temp << endl;
	}
	getchar();
	return 0;
}

输出:

代码语言:javascript
复制
1
2
3
4
5

对于char来说,简单些

代码语言:javascript
复制
int main() 
{	
	char p[] = "12345";
	for (int i = 0; i < strlen(p); i++)
	{
		int temp = p[i] - '0';
		cout << temp << endl;
	}
	getchar();
	return 0;
}

结果同上

也可以将string转为char处理,如下

代码语言:javascript
复制
int main() 
{	
	string s = "12345"; 
	const char *p = s.c_str();
 	for (int i = 0; i < s.size(); i++)
	{
		int temp =  p[i] - '0' ;
		cout << temp << endl;
	}
	getchar();
	return 0;
}

结果同上

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125527.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档