C++编程:将一个数字字符串转换为整型数值

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:09:09
#include <iostream.h>
#include <stdlib.h>
void main()
{
int a;
cout<<"请输入一个数字字符串:";
cin>>a;
if(47>a || a>57)
cout<<"你输入的不是数字字符串"<<endl;
else
{
char n;
n=int(a);
cout<<n<<endl;
}
}
我写了这段程序,但是同学说我错了,这是将ASCII码转为数字常量的,不符合题意,我想了很久都想不明白题目的意思,到底是什么意思呢??
求高手指导!!

意思是以字符数组或者字符串的形式输入,然后从字符串中提取数字:

//---------------------------------------------------------------------------
#include <iostream>
#include <string>
#include <sstream>

using namespace std;
int main(int argc, char* argv[])
{

stringstream a;
string b;
int i;
cin>>b;
a.str(b);
a>>i;
cout<<i*2<<endl;
return 0;
}
//---------------------------------------------------------------------------

比如说,输入“123”
你返回123(int型的值);
而不是 输入“2”你输出2.

应该是这个意思,如果输入的是字符串“1234”,把他转换成整形值1234