C++从string 类中读取数字、字符的库函数?
发布网友
发布时间:2022-04-29 16:10
我来回答
共4个回答
热心网友
时间:2023-10-18 08:08
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;
}
热心网友
时间:2023-10-18 08:08
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;
}
热心网友
时间:2023-10-18 08:09
你可以从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;
}
热心网友
时间:2023-10-18 08:09
你可以从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;
}
热心网友
时间:2023-10-18 08:09
用sprintf,sscanf
热心网友
时间:2023-10-18 08:09
用sprintf,sscanf
热心网友
时间:2023-10-18 08:10
没有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相似
热心网友
时间:2023-10-18 08:10
没有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相似
热心网友
时间:2023-10-18 08:08
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;
}
热心网友
时间:2023-10-18 08:09
你可以从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;
}
热心网友
时间:2023-10-18 08:09
用sprintf,sscanf
热心网友
时间:2023-10-18 08:10
没有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相似
热心网友
时间:2023-10-18 08:08
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;
}
热心网友
时间:2023-10-18 08:09
你可以从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;
}
热心网友
时间:2023-10-18 08:09
用sprintf,sscanf
热心网友
时间:2023-10-18 08:10
没有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相似
热心网友
时间:2023-10-18 08:08
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;
}
热心网友
时间:2023-10-18 08:08
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;
}
热心网友
时间:2023-10-18 08:09
你可以从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;
}
热心网友
时间:2023-10-18 08:09
你可以从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;
}