FILE 로 텍스트 파일 읽을 때 최대 몇 개까지 되나요?

lightoml의 이미지

FILE *fp[2000];

이런 식으로 2000개를 읽어 들이려고 하는데 한 1000개까지 메모리 주소가 할당되는데 그 이상으로는 NULL이 찍히네요;;

최대 갯수가 1000개인가요???

익명 사용자의 이미지

os 설정에 의존적입니다.

lightoml의 이미지

그럼 iostream을 써야할까요??

익명 사용자의 이미지

뭘 사용해도, 파일오픈은 os 의존적이라 개수제한에 걸립니다.

리눅스를 사용하신다면

ulimit -n

오픈가능한파일개수를 확인하고

적절히 늘리세요. 늘리는 방법은 검색 ^^;

biiiiid의 이미지


커널컴파일을 새로 해야할것도 같은데,
웬만하면 fclose를 하는게 낫지 않을까요?

http://coffeenix.net/board_print.php?bd_code=146

lightoml의 이미지

리눅스 사용하고 있어요.. 구글링해서 해결했습니다. 감사합니다. ^^

lightoml의 이미지

/etc/security/limits.conf

수정해서 해결했슴다~

shint의 이미지

508개'까지 되네요.

    //file 1000개 load
    FILE* fp[MAX];
    int i=0;
    for(i=0; i<MAX; i++)
    {
        fp[i] = NULL;
        fp[i] = fopen("c:\\shint.txt", "rt");
        if(fp[i] == NULL)
        {
            qDebug() << "file not found!";
            return 0;
        }
        qDebug() << "shint" << i;
//        fclose(fp[i]);
//        fp[i] = NULL;
    }

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

익명 사용자의 이미지

흠, 그거밖에 안되나요?
전에 Larry Osterman이 MS Word관련해서 맥에서 발생한 버그 설명할때, 맥과는 달리 윈도우는 메모리가 허용하는 만큼 한다고 했었는데... 의외로 파일 핸들이 메모리를 많이 먹나보군요.