freopen

Clion에서 파일 입출력 하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int num,sum=0;
    char buff[10000];buff[0]=0;

    freopen("in.txt","r",stdin);//"in.txt"의 데이터를 "r"(read). "in.txt"는 "main.cpp"와 같은 경로에 있어야함.
    while(scanf("%d",&num)!=EOF)
        sum+=num;

    printf("%d",sum);//freopen 이전의 출력은 console 창에 출력됨.

    freopen("out.txt","w",stdout);//"out.txt"에 데이터를 "w"(write).
    printf("%d\n",sum);//freopen 이후의 출력은 "out.txt"에 기록됨.

    freopen("in2.txt","r",stdin);

    freopen("out.txt","a",stdout);//이미 존재하는 파일의 끝에서 read 목적으로 파일을 엶.
    while(scanf("%[^\n]",buff)!=EOF)//띄어쓰기를 포함하여 한줄씩 출력.
        printf("%s\n",buff),buff[0]=0,getchar();

    fclose(stdin),fclose(stdout);
    return 0;
}

설정

  1. 우측 상단의 Debug - Edit Configurations 클릭

    Edit Configurations

  2. Working directorymain.cpp 이 있는 위치로 바꿔줍니다.

    Working directory

  3. 해당 위치에 사용할 input data (in.txt, in2.txt) 를 넣어줍니다.

    main.cpp

출력

in.txt

1 2 3 4 5 6 7 8 9 10

in2.txt


#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD (ll)1000000007
#define pii pair<int,int>
#define pll pair<ll,ll>
#define UNIQUE(v) sort(v.begin(),v.end());v.erase(unique(v.begin(),v.end()),v.end());
ll GCD(ll a,ll b){return b?GCD(b,a%b):a;}
ll power(ll a,ll b){ll ret=1;while(b){if(b%2)ret=ret*a%MOD;a=a*a%MOD;b/=2;}return ret;}
const int sz = 1<<17;

int a[100001];

int main()
{
    int tc;
    scanf("%d",&tc);
    while(tc--)
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
    }
    return 0;
}

console

console

out.txt

55

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD (ll)1000000007
#define pii pair<int,int>
#define pll pair<ll,ll>
#define UNIQUE(v) sort(v.begin(),v.end());v.erase(unique(v.begin(),v.end()),v.end());
ll GCD(ll a,ll b){return b?GCD(b,a%b):a;}
ll power(ll a,ll b){ll ret=1;while(b){if(b%2)ret=ret*a%MOD;a=a*a%MOD;b/=2;}return ret;}
const int sz = 1<<17;

int a[100001];

int main()
{
    int tc;
    scanf("%d",&tc);
    while(tc--)
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
    }
    return 0;
}

out.txt 은 여기에 생성됩니다.

out