C++从string 类中读取数字、字符的库函数?

应该有吧?string的>>重载?就是类似于C的sscanf那样的函数。... 应该有吧?
string 的 >> 重载?
就是类似于C的 sscanf那样的函数。
展开
 我来答
派欧云
2011-08-22 · TA获得超过253个赞
知道小有建树答主
回答量:209
采纳率:100%
帮助的人:140万
展开全部
string有成员函数的,直接用>>的话要把它转成stream
追问
求详解。
#include
#include
using namespace std;
int main()
{
string s;
double t;
cin>>s;
;;;//怎么从s中读出 t ?
return 0;
}
VC++6.0编译。
追答
#include 
#include
using namespace std;
int main()
{
string s = "123.456";
double t;
istringstream ss(s); //拷贝构造输出串流
ss>>t; //输入到t
cout<<t;
;;;//怎么从s中读出 t ?
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssilspro
2011-08-22 · TA获得超过2625个赞
知道大有可为答主
回答量:1148
采纳率:0%
帮助的人:1714万
展开全部
你可以从string字符串得到C风格字符串,再用sscanf处理
或者用string构造个string流, 按cin使用

#include <sstream>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s="654321";
int i=0;
sscanf(s.c_str(),"%d",&i);
cout<<i<<endl;
i=0;
istringstream ss(s);
ss>>i;
cout<<i<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
frattini
2011-08-23 · TA获得超过131个赞
知道答主
回答量:164
采纳率:0%
帮助的人:83.4万
展开全部
用sprintf,sscanf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rhovf681rxf
2011-08-23 · TA获得超过528个赞
知道小有建树答主
回答量:908
采纳率:0%
帮助的人:468万
展开全部
没有long和string互相转换的,但是有long(还有int,double,float等)和char*互相转化的函数,sprintf函数和sscanf函数。因此可以用char*作为中间类型
long转换为string的一个解决方案:
可以先用sprintf函数把long转换为char*,然后char*直接可以赋给string。
string转换为long的一个解决方案
先用string的成员函数c_str()转化为char*,再用sscanf函数将char*转为long。
sscanf和sprintf是C函数,头文件stdio.h,用法和scanf、printf相似
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式