main()안에서 다시 main()을 호출해야 되는데...

ckebabo의 이미지

main()안에서 다시 main()을 호출해야 되는데, 약간의 문제가 있습니다.

Quote:
# ./a.out < inputfile

형태로 실행이 되는데, inputfile을 통해 작업을 하게 되다가 특정 조건이 되면 새로운 파일을 통해 작업을 하고나서 inputfile의 나머지 부분을 처리해주는 형식입니다.

이런 경우 어떻게 처리를 해줘야 하는지 감도 잘 오지 않네요.

익명 사용자의 이미지

꼭 main함수를 재귀함수로 만들 필요가 있는지 궁금하군요. main 함수의 내용을 복사해서 다른 이름을 가진 함수를 만들어서 main 함수에서 호출해주면 될텐데 말입니다.

int input1(); // stdin으로 입력받는 함수. 내부에서 필요하면 input2() 함수 호출

int input2(); // fopen으로 파일을 열어 입력받는 함수

int main()
{
    int input1();
    return 0;
}
cwryu의 이미지

Anonymous wrote:
꼭 main함수를 재귀함수로 만들 필요가 있는지 궁금하군요. main 함수의 내용을 복사해서 다른 이름을 가진 함수를 만들어서 main 함수에서 호출해주면 될텐데 말입니다.

숙제일 경우에는 그렇게 만들 필요가 있지요. :evil:

ckebabo의 이미지

저도 "손님"분의 말씀대로 생각해봤으나, 같은 작업을 하는 하는 함수를 굳이 두개나 만들필요가 있나 하는 생각도 들더라고요...

그래서 현재, foo(FILE *fp)형태의 함수를 만들어 기본적으로는 foo(stdin)를 호출하고 특정조건을 만나게 되면 해당 파일을 열어 foo(fp)하는 형태로 바꾸고 있습니다...

잘 되야 될텐데...