要将c++string类型,分别转换成无符号8位类型,无符号16位类型,有符号8位,有符号16位,8位浮点数,16位浮点数。
不知道你要怎么转换。直接转换,那就循环强转。因为字符串多于一个字符,单个整数存不下,需要数组。
如果按照字面转,那么可以用atoi atof等函数。
我之前就被弄醉了,c++怎么会有这么长的类型啊
string 是string类型,它要先转成 char * 类型,可以通过,str.c_str()
这个函数来转化,至于你说的无符号的八位,使用强制类型转换(unsigned char ),无符号的十六位,那就需要自己拼接一下了,没有八位浮点型,浮点数都是32位(float) 或者 64位(double)。以上说的是这个string只是个字符串的前提。如果你的string是个类似于“12345”这样的。那么你
按照string转char的方法转换,然后atoi(字符转整形),atof(字符转浮点型)。感觉不是很清楚你问的,这是我的建议。
研究一下万能的sprintf和scanf吧
要转换成不同类型的话可以用类型转换:(数据类型)变量名 或 数据类型(变量名)
如:string str;
float var =3.14;
str = int(var);
//此时var由float型变成了int型,其值取整为3.
前提是现实需求,如果是你自己想去试一试的话,建议用库函数atoi, 但转为float 或double类型的话举个例子,string str = "123.123";这样的话用库函数
没有任何问题,但是例如string str = "asdfghj";要转他的话,首先没有意义,但是也可以转的,不知道你是第一种还是第二种////