请教为什么会这样?
请大家帮忙看一下,为什么输出不是:
a=0x11
b=021
c=17
d=9876.543
e=2.3457E+003
或者请教一下具体怎么做才能得到这样的结果.谢谢!
而且我看到当写完文件之后,f0.txt文件中的数据就是上面的结果,为什么我这样读确不对?
错在哪儿了?应该怎么做?
#include <fstream>
#include <iostream>
using namespace std;
void main(void)
{
ofstream fout;
fout.open("f0.txt");
if (fout.fail())
{
cout < <"The file was not successfully opened!" < <endl;
exit(1);
}
fout < <"6543* *fdja" < <endl;
fout.flags(ios_base::showbase);
fout < <hex < <17 < <endl;
fout < <oct < <17 < <endl;
fout < <dec < <17 < <endl;
fout.flags(ios_base::fixed); //写文件!
fout.precision(3);
fout < <9876.54321 < <endl;
fout.flags(ios_base::scientific);
fout.setf(ios_base::uppercase);
fout.precision(4);
fout < <2.345678E+03 < <endl;
fout.close();
ifstream fin;
fin.open("f0.txt");
if (fin.fail())
if (fin==NULL)*/
{
cout < <"The file was not successfully opened!\n"
< <"Please check that the file currently exits.\n";
exit(2);
}
char str1[20],str2[20];
fin>>str1>>str2;
int a,b,c;
fin>>a>>b>>c; //读文件!
double d,e;
fin>>d>>e;
fin.close();
cout < <"str1=" < <str1 < <endl;
cout < <"str2=" < <str2 < <endl;
cout.flags(ios_base::showbase);
cout < <"a=" < <hex < <a < <endl;
cout < <"b=" < <oct < <b < <endl;
cout < <"c=" < <dec < <c < <endl;
cout.flags(ios_base::fixed);
cout.precision(3); //输出!
cout < <"d=" < <d < <endl;
cout.flags(ios_base::scientific);
cout.setf(ios_base::uppercase);
cout.precision(4);
cout < <"e=" < <e < <endl;
return;
}