C++从string 类中读取数字、字符的库函数?
4个回答
展开全部
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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以从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;
}
或者用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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用sprintf,sscanf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有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相似
long转换为string的一个解决方案:
可以先用sprintf函数把long转换为char*,然后char*直接可以赋给string。
string转换为long的一个解决方案
先用string的成员函数c_str()转化为char*,再用sscanf函数将char*转为long。
sscanf和sprintf是C函数,头文件stdio.h,用法和scanf、printf相似
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询