2014-11-29 1 views
0

나는 C++로 프로그램을 개발했으며, 그 임무는 MySQL에서 데이터를 읽고 파일에 데이터를 저장하는 것이다.C++의 파일 액세스 ubuntu

먼저 1000 개의 ID (고유 값을 포함하는 1 열)를 읽고 해당 ID를 file1에 저장합니다. 나머지 ID 열을 기반으로 (나는 MySQL에서 7 개의 다른 열이 있음) 데이터는 다른 파일에 저장됩니다 (파일 2라고 가정).

ID가 22000 개를 읽으면 파일 1을 열 수 없습니다.라는 오류가 발생합니다. 이전에 나는 아래의 코드로 22 회를 열었다 있었 : 당신이 무슨 말에서

if((ptr_eid=fopen (file1, "a")) == NULL) { 
    printf ("\n unable to open %s file",ext_ids_file); 
    return -1; 
} 
+1

성공적인 쓰기가 끝날 때마다 파일을 닫으시겠습니까? 어쩌면 프로그래머가 디스크에 쓰기 작업을 완료하지 않았기 때문에 열려있는 작업을 차단할 수 있습니다. –

답변

0

당신이 모든 ID에 대한 새 파일 기술자를 열고 파일 기술자의 부족처럼, 오히려 보인다.

컴파일 할 수있는 최소한의 코드 샘플을 게시하고 시스템에 오류를 재생산하십시오.

나는 당신의 접근 방식에 대한 설명이 차선책으로 들리지만 잘못 이해할 수도 있습니다. 다시 말하지만 코드를 게시하면 도움이됩니다.