想了半天也想不出来,如何实现字符和数字的转换??
求教下如何实现。。。。。。。。。。
[此贴子已经被作者于2007-7-4 12:02:38编辑过]
有些地方看不不懂,想问下<sstream>是不是就是原来的〈strstrea.h>?
还有那个istringstream就是原来的istrstream吧,没办法,我的书都还是以前的那些头文件,所以。。。。。。
嗯,谢谢,我查了下,〈stdlib.h>中的atoi和atol函数确实有这功能。
你说的那两个函数不是标准C里面的也没错,好像是标准C++里面的,我用是老版本的C++,所以就想了解下是不是从老版本转过来的。。。。
问题已解决,感谢aipb2007和HJin版主,还有zkkpkk。。。
aipb2007的程序不能直接在我这里实现,不过稍微改下便可以了。程序修改之后如下:
#include <strstrea.h>
#include <iostream.h>
void main()
{
char str[80];
int num;
cin >> str;
istringstream in(str);
in >> num;
cout<<num<<endl;
}
你就是说字符,一串的叫字符串
8楼答案还是有些看不懂,
// istringstream in(str);
in >> num;
????
顺便补充一点
2楼代码中的 #include <sstream>
#include <iostream>
using namespace std; 开始有些看不懂。
搜了一下,解释如下,希望与菜鸟同胞们共同学习一下:
<iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,
二者是两个文件,打开文件就会发现,里面的代码是不一样的。
后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,
声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。
因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
哈哈