我有這個輸入文件「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」 我試圖讀取此文件:-using freopen(「filename.txt」,r,stdin);然後我想把輸出寫入另一個文本文件,我可以在這個codejam練習問題上傳給法官。無法將輸出寫入cpp程序中的文本文件
#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,那我該怎麼做。
是的,一個加號可以使所有區別。 – chris
你的意思是w +,對不起,我是新來的文件處理 – swapedoc
它可能會更容易使用C++ I/O而不是C。它的類型安全且易於閱讀,並且你可以獲得在完成時關閉自己的文件流。 – chris