c++ 请问如何将char,string的变量强制类型转换为整型?

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:21:20
#include<iostream>
#include<string>
using namespace std;
int main()
{
char ch[]="8";
int num=int(ch[0]);
cout<<num<<endl;
return 0;
}
//-------上面num所显示的是8对应的ASCII码,请问下如何将字符8转换成整形8,写入到num?
如果把char改成string str="888";请问下又该如何转换?

用C的库函数 atoi

int num = atoi(ch);

利用库函数double atof( const char *string );
int atoi( const char *string );
__int64 _atoi64( const char *string );
long atol( const char *string );
这些可以将字符串转化为你所要的

char ch[] = "8",此时 ch[0] = '8'。

把字符转换为其字面值,一般做法是这样:
int num = ch[0] - '0';
std::cout << num << std::endl;

str = "888" ,则str[0] = 8,等等,对每一位运用上面的方法。

当然库函数更好。

int num=int(ch[0])-48;

int num2=0,i=0;
while(str[i]!='\0')
{
num2=(int(str[i])-48)+num2*10;
i++;
}

(int)ch[0]