c++输入输出;流

#include<iostream>#include<iomanip>#include<fstream>usingnamespacestd;voidexchange(in... #include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;

void exchange(int b[][4],int h1,int h2)
{
for(int j=0;j<4;j++)
{
int i=0;

i=b[h1-1][j];
b[h1-1][j]=b[h2-1][j];
b[h2-1][j]=i;
}
}
int main()
{
int h1,h2;
int a[4][4],b[4][4];
fstream file1,file2;
file1.open("data.txt");

cout<<"输入一个4X4的矩阵"<<endl;
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
cin>>a[i][j];
j=0;
}

for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
file1<<setw(8)<<a[i][j];
j=0;
file1<<endl;
}

file2.open("data.txt");

for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
file2>>b[i][j];
j=0;
}

cout<<"输入想交换的两行"<<endl;
cin>>h1>>h2;
exchange(b,h1,h2);

for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
cout<<setw(4)<<b[i][j];
j=0;
cout<<endl;
}

file1.close();
file2.close();
}
写入为什么需要data.txt事先存在;
如果没建立txt的话,程序运行完也没有这个文件
展开
 我来答
故人暮雨
2018-05-25
知道答主
回答量:21
采纳率:0%
帮助的人:2万
展开全部
之所以没有是因为你使用的是fstream,该类在open的时候如果不指明打开类型时是不会自己创建文件的。方法1,修改file1类型为ofstream,这样open时会默认调用ios::out,文件不存在则创 建.方法2,open时设置打开方式。ios::in--供读。ios::out--供写。
璐人钇
2018-05-25 · TA获得超过1552个赞
知道小有建树答主
回答量:1365
采纳率:69%
帮助的人:670万
展开全部
文件流在打开的时候可以指定打开模式,例如只读,只写,新建文件等,没指定的话会按默认来打开文件,不会新建文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最初的你3N
2018-05-25
知道答主
回答量:1
采纳率:0%
帮助的人:876
展开全部
有几个bug,file1,file2是同一个文件。另外打开文件要养成set mode的习惯。最后请使用绝对路径。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式