C++中把char[]转成int,怎么转?

我有一个char[],后4位是数字,我要把后4为装成一个整数。有什么方法?求详细代码。

无论字符串长度,只读最后4位,用 sscanf.
c++ 多2行头文件:
#include <iostream>
using namespace std;
#include<stdio.h>
main(){
char s[]="x_y_z4321";
int v;
int L;
L=strlen(s);
sscanf(s+L-4,"%d",&v);
printf("v=%d\n",v);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-09
//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
using namespace std;
int main(void){
    char a[]="jfjkdsla;jg;kdsla8890",b[50];
    int n;
    sscanf(a,"%[^0-9]%d",b,&n);
    cout << n << endl;
    return 0;
}

本回答被网友采纳
第2个回答  2015-03-09
char s[]="abc1234";
char *p = s;
p += 3;
int i = atoi(p);

第3个回答  2021-03-10
#include <iostream>
using namespace std;
int char2int(char c[])
{
int res = 0;
int count = 0;
for (; c[count] != '\0'; count++) { }
for (int i = 1; count > 0; count--)
{

res += (c[count-1] - 48)*i;
i *= 10;
}
return res;
}
void main()
{
char c[] = "123";
int i = char2int(c);
cout << i;
}
第4个回答  2017-11-30
sscanf( &chr[ strlen(chr) - 4 ],"%d",&n );
相似回答