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

应该有吧?string 的 >> 重载?就是类似于C的 sscanf那样的函数。
2024-12-17 07:55:25
推荐回答(4个)
回答1:

string有成员函数的,直接用>>的话要把它转成stream

回答2:

你可以从string字符串得到C风格字符串,再用sscanf处理
或者用string构造个string流, 按cin使用

#include
#include
#include
using namespace std;
int main()
{
string s="654321";
int i=0;
sscanf(s.c_str(),"%d",&i);
cout< i=0;
istringstream ss(s);
ss>>i;
cout<}

回答3:

用sprintf,sscanf

回答4:

没有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相似