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

2026-01-19 04:43:32

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

在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