【发布时间】:2013-06-25 15:13:05
【问题描述】:
我有这个输入文件“https://code.google.com/codejam/contest/351101/dashboard/do/A-large-practice.in?cmd=GetInputFile&problem=374101&input_id=1&filename=A-large-practice.in&redownload_last=1&agent=website&csrfmiddlewaretoken=OWMxNTVmMTUyODBiYjhhN2Q2OTM3ZGJiMTNhNDkwMDF8fDEzNzIxNzI1NTE3ODAzMjA%3D” 我试图阅读这个文件:-使用 freopen("filename.txt",r,stdin);然后我希望将写入的输出写入另一个文本文件,我可以在这个 codejam 练习题中上传给法官。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int t,k=0,a[2000];
freopen("ab.txt","r",stdin);
scanf("%d",&t);
while(t--)
{
freopen("cb.txt","w",stdout);
int c;
scanf("%d",&c);
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
printf("Case #%d: ",++k);
for(int i=0;i<n-1;i++)
{for(int j=i+1;j<n;j++)
if((a[i]+a[j])==c)
{printf("%d %d\n",i+1,j+1);
i=n;}
}
}
return 0;
}
这是我的代码。 现在的问题是输出文件 cb.txt 只包含输入的最后一行。我希望将整个输出写入 cb.txt,我该怎么办。
【问题讨论】:
-
是的,一个加号可以改变一切。
-
你的意思是 w+,对不起,我是文件处理新手
-
使用 C++ I/O 代替 C 可能更容易。它的类型安全且易于阅读,而且文件流在完成后会自行关闭。
-
转换为 C++I/O 后出现同样的错误
-
你通过
std::ios::app了吗?
标签: c++ file-handling