그복사명령어포스트그레스읽거나 쓸 수 있는 옵션이 있습니다 사용되는 네트워크 연결libpq++. 따라서 이 네트워크에 액세스하려면 기능이 필요합니다. 애플리케이션이 이를 최대한 활용할 수 있도록 직접 연결 능력.
PgDatabase::GetLine읽는다 줄 바꿈으로 끝나는 문자 줄(에 의해 전송됨) 백스포츠 토토 베트맨 서버)를 버퍼로문자열크기길이.
int PgDatabase::GetLine(char* 문자열, int 길이)
유닉스 시스템 루틴과 유사함fgets (3), 이 루틴은 최대길이-1문자로문자열. 그것은 좋아요(3)을 얻음그러나 그 점에서는 종료 개행 문자를 널 문자로 변환합니다.
PgDatabase::GetLine다음에서 EOF를 반환합니다. 파일의 끝, 전체 줄을 읽었으면 0, 읽은 경우에는 1 버퍼가 가득 찼지만 종료 줄 바꿈이 아직 완료되지 않았습니다. 읽어보세요.
응용프로그램은 새로운 줄이 있는지 확인해야 한다는 점에 유의하십시오. 단일 마침표(".")로 구성됩니다. 백스포츠 토토 베트맨 서버가 결과 전송을 완료했습니다.복사. 그러므로 만약 신청이 다음보다 많은 라인을 수신할 것으로 예상됩니다.길이-1문자 길이이므로 응용 프로그램은 다음을 확인해야 합니다. 반환 값PgDatabase::GetLine아주 조심스럽게.
PgDatabase::PutLine다음을 보냅니다 null로 종료됨문자열에 백스포츠 토토 베트맨 서버.
void PgDatabase::PutLine(char* string)
응용프로그램은 명시적으로 단일 마침표를 보내야 합니다 완료되었음을 백스포츠 토토 베트맨에 알리는 문자(".") 데이터를 전송합니다.
PgDatabase::EndCopy동기화 백스포츠 토토 베트맨.
int PgDatabase::EndCopy()이 함수는 백스포츠 토토 베트맨가 처리를 완료할 때까지 기다립니다.복사. 다음 중 하나에 발행되어야 합니다. 마지막 문자열은 다음을 사용하여 백엔드로 전송되었습니다.PgDatabase::PutLine또는 마지막 문자열이 다음을 사용하여 백엔드에서 수신되었습니다.PgDatabase::GetLine. 발급받아야 하거나, 백엔드가 프런트엔드와 "동기화되지 않을" 수 있습니다. 에서 돌아올 때 이 함수를 사용하면 백엔드가 다음 쿼리를 수신할 준비가 됩니다.
성공적으로 완료되면 반환 값은 0이며 0이 아닙니다. 그렇지 않으면.
예를 들면:
Pg데이터베이스 데이터;
        data.Exec("foo 테이블 생성(a int4, b char16, d float8)");
        data.Exec("표준 입력에서 foo를 복사합니다.");
        data.putline("3\etHello World\et4.5\en");
        data.putline("4\etGoodbye World\et7.11\en");
        &...
        data.putline(".\en");
        데이터.endcopy();