c++builder文本输出
请教关于c++ builder文本输出。
程序中建立了文本文件“1.txt”,向其中写入数据,原来在vc++下用的是调用函数的方式,并且成功了。但在c++builder下却用函数方法总是提示在调用语句提示出错,如果不采用函数的方法,即将输出语句写出主函数中则可行。
主函数中调用部分:
fstream outfile;
outfile.open( "sur1.txt ",ios::out); ///////此语句处提示出错
if(!outfile)
{
cout < < "openning file1 fails! " < <endl;
abort();
}
outdata(point,outfile);
outfile < < "ok " < <endl;
outfile.close();
函数体如下:
void outdata(struct vector point[17][17],fstream outfile)
{
for(int i=0;i <17;i++)
{
for(int j=0;j <17;j++)
{
outfile < <setiosflags(ios::right)
< <setiosflags(ios::fixed)
< <setw(11)
< <setprecision(8)
< <point[i][j].x < < " | ";
}
outfile < <endl;
}
不采用函数的方法可行如下:
fstream outfile;
outfile.open( "sur1.txt ",ios::out);
if(!outfile)
{
cout < < "openning file1 fails! " < <endl;
abort();
}
//outdata(point,outfile);
for(int i=0;i <17;i++)
{
for(int j=0;j <17;j++)
{
outfile < <setiosflags(ios::right)
< <setiosflags(ios::fixed)
< <setw(11)
< <setprecision(8)
< <point[i][j].x < < " | ";
}
outfile < <endl;
outfile < < "ok " < <endl;
outfile.close();
[解决办法]
可能传值拷贝fstream有点问题,试试把函数改成这样
void outdata(struct vector point[17][17],fstream &outfile);