菜鸟问题,高手请帮帮忙,急!
请问有什么函数可以把一个string转换成整型数,例如string s ="12",怎样可以把12变成整型。过年了,祝大家吃好玩好喝好!! 问题点数:100、回复次数:21Top
1 楼johninprc(窘)回复于 2003-02-03 20:30:29 得分 0
自己写吧,逐个读入再强制转换ascii码不就行了。Top
2 楼johninprc(窘)回复于 2003-02-03 20:32:03 得分 10
而且string不是内建数据类型,c++内建的是char *用于字符串,用指针位移就更方便了。Top
3 楼stonerain(shift)回复于 2003-02-03 20:36:18 得分 0
老兄怎么用ascii码转啊,摆脱给个例子啊??Top
4 楼earthharp(我老子是土匪)回复于 2003-02-03 20:39:08 得分 0
atoi();Top
5 楼skywarship(很菜的小李)回复于 2003-02-03 20:40:44 得分 10
如果是字符指针的话
例如 char *p;
*p=“12”
可以用 atol()转成长整型数
atol()在stdlib中定义Top
6 楼stonerain(shift)回复于 2003-02-03 20:44:00 得分 0
我用得时c++ string 没有char定义,atoi()我用过了,不可以啊??
如果那位知道拜托给我个例子好不好啊!!!!Top
7 楼Frank001(Frank)回复于 2003-02-03 20:45:37 得分 80
这样应该可以,你试试看。
#include<iostream>
#include <sstream>
using namespace std;
string itos(int i)
{
stringstream s;
s << i;
return s.str();
}
void main()
{
int a;
cin>>a;
string s;
s=itos(a);
cout<<a<<endl;
}Top
8 楼Frank001(Frank)回复于 2003-02-03 20:47:27 得分 0
不好意思,搞反了,呵呵
Top
9 楼Frank001(Frank)回复于 2003-02-03 20:49:01 得分 0
应该是这样,呵呵
#include<iostream>
#include <sstream>
using namespace std;
int stoi(string &str)
{
short result;
istringstream is(str);
is >> result;
return result;
}
void main()
{
string s;
cin>>s;
int i;
i=stoi(s);
cout<<i<<endl;
}Top
10 楼stonerain(shift)回复于 2003-02-03 20:50:22 得分 0
我想问如何从字符串变成整数,还有从整数变成字符串。TO FRANK:我试了一下,可是运行不了,说没有“#include<sstream>"这个FILE。能帮我想想吗?谢了!Top
11 楼Frank001(Frank)回复于 2003-02-03 20:54:23 得分 0
看来我的俩个程序都用的上,哈哈。
你用的是什么编译器,VC?BC?
我用的是VC6可以通过,也可以运行。
是BC的话,那句改为这样试试看
“#include<sstream.h>Top
12 楼stonerain(shift)回复于 2003-02-03 20:58:44 得分 0
不是,我用得时GNU C++ AND VIDE
我不太懂STREAM用来做什么得,有什么更简单得方法么???Top
13 楼Frank001(Frank)回复于 2003-02-03 21:02:11 得分 0
可能你的编译器不支持新的标准
那你用这个试试看
#include<strstream> 或者 #include<strstream.h>Top
14 楼stonerain(shift)回复于 2003-02-03 21:05:32 得分 0
还是不可以怎么办,救命啊!!!!!!!!!Top
15 楼Frank001(Frank)回复于 2003-02-03 21:08:31 得分 0
晕,再用这个试试
<stringstream> 或者 <stringstream.h>
再不行的画,那你就用char吧,不要用stringTop
16 楼Frank001(Frank)回复于 2003-02-03 21:09:40 得分 0
或者你把源码贴出来看看。Top
17 楼stonerain(shift)回复于 2003-02-03 21:12:18 得分 0
! test1.cpp:2: stringstream: No such file or directory
! make: *** [test1.o] Error 1Top
18 楼stonerain(shift)回复于 2003-02-03 21:12:56 得分 0
#include<iostream>
#include<stringstream>
using namespace std;
int stoi(string &str)
{
short result;
istringstream is(str);
is >> result;
return result;
}
void main()
{
string s;
cin>>s;
int i;
i=stoi(s);
cout<<i<<endl;
}Top
19 楼stonerain(shift)回复于 2003-02-03 21:15:36 得分 0
不知道为什么错??Top
20 楼Frank001(Frank)回复于 2003-02-03 21:32:50 得分 0
这几个文件 <strstream> <sstream> <stringstream>要是都不行的话,
估计和你的编译器有关系,我也不了解你用的编译器,也没有办法。
你可以看看它的help,可能有介绍。Top
21 楼stonerain(shift)回复于 2003-02-03 21:39:39 得分 0
好的,谢了。Top




