C++檔案輸入輸出
阿新 • • 發佈:2018-12-14
ACM中巧用檔案的輸入輸出來改寫acm程式的輸入輸出
經常有見大神們使用檔案來代替ACM程式中的IO,尤其是當程式IO比較複雜時,可以使自己能夠更專注於程式碼的測試,而不是怎樣敲輸入。
/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> #define DEBUG #define RI register int using namespace std; typedef long long ll; typedef __int128 lll; const int N=10000; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,q; int main() { #ifdef DEBUG freopen("input.in", "r", stdin); //freopen("output.out", "w", stdout); #endif scanf("%d",&n); //cout << "Hello world!" << endl; return 0; }
其中關鍵就在於
/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #define DEBUG using namespace std; int n; int main() { #ifdef DEBUG freopen("input.in", "r", stdin); //freopen("output.out", "w", stdout); #endif scanf("%d",&n); //cout << "Hello world!" << endl; return 0; }
而要取消檔案輸入只要
/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> //#define DEBUG using namespace std; int n; int main() { #ifdef DEBUG freopen("input.in", "r", stdin); //freopen("output.out", "w", stdout); #endif scanf("%d",&n); //cout << "Hello world!" << endl; return 0; }
就是註釋掉
//#define DEBUG
然後這個input.in檔案一定要放在程式所在目錄下
我用的是CB就是這樣子
如果把輸出開啟的話
輸出的output.out檔案也會在這個目錄下