#include #include #include "istrstream.h" char cval1,cval2; short sval; unsigned short usval; int ival; unsigned int uival; float fval1,fval2; double dval1,dval2; istrstream* input; StringClass *StringData; StringClass *Tokens; #define DOUBLE_TEST int main() { // char Test[] = "ab Z 5 26 -15 23456789 -34589+238,869-2348.86e+21"; // char Test[] = "+238,869-2348.86e+21 2,87e-02 56,688E8"; char Test[] = " f#-16429 +102 -569840 48+238,869 -2348.86E+21"; char Test2[] = " token1 token2 token3 "; cout << "StrStream Test" << endl; StringData = new StringClass(Test); // StringData = new StringClass(Test2); // StringData = new StringClass(Test3); input = new istrstream(StringData); // Char read test *input >> cval1 >> cval2; cout << "chars " << cval1 << " " << cval2 << endl; *input >> &cval1 >> &cval2; cout << "chars " << cval1 << " " << cval2 << endl; // Short read test *input >> &sval >> &usval; cout << "short " << sval << " " << usval << endl; // Integer test *input >> &ival >> &uival ; cout << "int " << ival << " " << uival << endl; // Floating point read test #ifndef DOUBLE_TEST *input >> fval1 >> fval2; cout << "float " << fval1 << " " << fval2 << endl; #else *input >> dval1 >> dval2; cout << "double" << dval1 << " " << dval2 << endl; #endif delete StringData; delete input; StringData = new StringClass(Test2); input = new istrstream(StringData); Tokens = new StringClass(); *input >> Tokens; cout << " First token: " << Tokens << endl; *input >> Tokens; cout << " Second token: " << Tokens << endl; *input >> Tokens; cout << " Third token: " << Tokens << endl; cout << input->good(); return EXIT_SUCCESS; }