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";请问下又该如何转换?
#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]