注册 登录
编程论坛 C++教室

急事相求 关于字符串的问题

wybxnlpb 发布于 2010-08-20 02:07, 713 次点击
我想问下  在c++里面怎么把字符串转换成数值啊   我这样写的
#include <iostream>  
#include <string>
using namespace std;
void main()  
{
    string  a="123456";
    float b=atof(a);
}
报错啊  说atof没有定义;我又加了个#include<cstdlib>的头文件 还是不可以啊,我又把#include <string>
换成#include <cstring>也不行  我就不知道怎么弄啊了啊

   
8 回复
#2
tianxiao1102010-08-20 09:28
#include <iostream>  
#include <string>
using namespace std;
void main()  
{
    char a[20]="123456";

    float b=atof(a);
    cout<<b;
}
就ok了
#3
tianxiao1102010-08-20 09:34
希望楼主,以后多关注点库函数形参的问题,多查查库函数原型。我相信对你肯定有好处的。
#4
towhee2010-08-20 09:40
学习了,以后多看看MSDN
#5
mxs8102010-08-20 10:46
你的代码报错应该不是atof没有定义吧,应该是说传入的参数不正确,看下面的:
程序代码:
#include <iostream>
#include <string>
using namespace std;
void main()
{
    string  a="123456";
    float b=atof(a.c_str());
}


#6
wybxnlpb2010-08-20 13:50
2楼 这位兄弟   我要的不是你这答案  你这个我会的  我只是说 string的问题
#7
wybxnlpb2010-08-20 13:52
5楼   你后面那个参数是怎么回事啊? 我怎么没见过啊   不过谢谢你  希望你能再解释下 谢谢
#8
mxs8102010-08-20 16:55
回复 7楼 wybxnlpb
const char *c_str();
c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
#9
取而代之2010-08-24 01:09
学习了。
1