#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;
void main()
{ int a,b;
char c;
ofstream fout("test.txt");
fout<<" "<<0<<" "<<1<<" "<<4<<endl;
fout<<" "<<3<<" "<<4<<" "<<'d'<<endl;
ifstream fin("test.txt");
while (!fin.eof())
{
fin>>a>>b>>c;
cout<<a<<" "<<b<<" "<<c<<endl;
}
cin>>a;
}
#include <iostream>
#include <fstream>
#include <string>
#include <assert.h>
#include <sstream>
using namespace std;
/**
* double转换为string
*/
string doubleToString(double d) {
ostringstream os;
if (os << d)
return os.str();
return "invalid conversion";
}
/**
* string转double
*/
double stringToDouble(string str) {
istringstream iss(str);
double x;
if (iss >> x)
return x;
return 0.0;
}
int main()
{
ofstream o_file;
ifstream i_file;
string out_text;
o_file.open("xie.txt");
i_file.open("xie1.txt");
assert(i_file.is_open()&&o_file.is_open()) ;
while(!i_file.eof()) //while(i_file>>out_text) 也可判断结束
{
//将其输出到字符串中的作用是为了解决将0.000001类型输出时为科学计数法的问题
i_file>>out_text; //必须使用空格隔开
static int i = 0; //其作用为在文件结尾不会出现空的一行
if(i ==0) o_file<<out_text;
else o_file<<endl<< out_text;
i = 1;
cout<<stringToDouble(out_text)<<endl;
cout<<doubleToString(stringToDouble(out_text))<<endl;
}
i_file.close();
o_file.close();
return 0;
}
//xie1.txt
0.000001
0.000012
0.01
0.000001