1、获取字符串长度:
#include <string>
string str;
第一种,str.length()即可获取字符串长度;
第二种,str.size()也可获取字符串长度;
两种方法获取的均为最大下标加一。
2、按照指定精度输出数据(浮点数):
#include <iomanip>
如果直接保留n位有效数字,直接用 cout << setprecision(n);然后继续输出就行;如果是保留n位小数,则
cout << setiosflags(ios::fixed);
cout << setprecision(n);
然后继续输出就行。
3、关于如何将字符串变量里的数字转换成数值变量,例如int,有两个方面的问题:
a、在c++里的字符串如果是string类型,那么首先要将字符串转换成c里面的字符串,使用c_str()函数;
b、再使用sscanf函数将字符串里的数值写入数值类型变量中。下面是一个例子:
string str; int i;
sscanf(str.c_str(), "%d", &i);
关于sscanf函数的用法说明在下面的连接里讲的非常清楚:
https://blog.youkuaiyun.com/gf771115/article/details/38647197
sscanf函数将字符串的内容输出为其他类型的变量,sprintf则将其他类型的变量输出为字符串类型的变量。
4、在c语言里完成问题3可以用atof函数,即将字符串里的数值转换成浮点数。头文件#include <stdlib.h>,当然,如果是c++下的string还是需要用c_str函数将string转换成为char,例子如下:
string str;
float x;
x = atof(str.c_str());
即可解决这个问题