#include <iostream>
#include <fstream>
using namespace std;
int load(); // 데이터파일의 데이터를 읽어들이는 함수
void store(int data); // 데이터파일에 연산한 데이터를 저장하는 함수
int add(int i, int j); // 읽어들인 데이터에 +1 해주는 함수
int main()
{
int x;
for(int i=0; i<1000; i++) // 3개의 함수 1000번 반복
{
x = load();
x = add(x, 1);
store(x);
}
}
int load()
{
ifstream instreamFile("input.txt"); // 파일 읽기
int las; // 읽어들인 파일을 저장할 공간
while(!instreamFile.eof()) // 파일이 끝날때까지 반복
{
instreamFile>>las; // las에 input.txt 내용 저장
}
return las; // las 반환
instreamFile.close(); // 파일 닫기
}
void store(int data)
{
ofstream file("input.txt", ios_base::app); // 파일을 맨 끝 부분에 추가하도록 불러들임
file<<" "<<data;
file.close(); // 파일 닫기
}
int add(int i, int j)
{
return i+j
}
-----------------------------------------------------------
우선, 주석을 달아놓긴 했으나 파일 의도 자체는
input.txt에 0부터 1000까지의 값을 입력하도록 구현한 것인데요.
이게 실행파일을 하나만 실행하면
정상적으로 0~1000의 값이 순서대로 입력되지만,
n개를 만들어서 동시 실행 (드래그로 여러개 선택해서 엔터, 혹은 열기) 하면
1000*n 만큼의 값이 입력이 되는게 아니라 그보다 적은 수 (가령이면 저는 2270) 까지만 입력이 되더라구요.
과제를 하다가 좀 신박해서 여쭤봅니다.
이유가 무엇인가요?