theCOPY스포츠 토토 베트맨Postgres읽거나 쓸 수있는 옵션이 있습니다 에 사용 된 네트워크 연결libpq ++. 따라서이 네트워크에 액세스하려면 기능이 필요합니다 응용 프로그램이이를 최대한 활용할 수 있도록 직접 연결 능력.
pgdatabase :: getline읽기 a Newline-Terminated 문자 라인 ( 백스포츠 토토 베트맨 서버) 버퍼로String크기길이.
int pgdatabase :: getline (char* string, int length)
유닉스 시스템 루틴처럼fgets (3),이 루틴은까지 복사합니다.길이-1문자로String. 그것은 좋다gets (3)종료 Newline을 널 캐릭터로 변환합니다.
pgdatabase :: getlineeof를 반환합니다 파일 끝, 전체 라인을 읽은 경우 0, 1 버퍼가 가득 찼지만 종료 Newline은 아직 없었습니다. 읽다.
신청서가 새 줄을 확인 해야하는지 확인해야합니다. 단일 기간 ( ".")으로 구성되며 백스포츠 토토 베트맨 서버가의 결과 전송을 마쳤습니다.copy. 따라서 응용 프로그램이라면 이상의 라인을받을 것으로 예상길이-1문자 길이, 응용 프로그램은 반환 값pgdatabase :: getline매우 조심스럽게.
pgdatabase :: putline보내기 a 널리 터진String백스포츠 토토 베트맨 서버.
void pgdatabase :: putline (char* string)
응용 프로그램은 단일 기간을 명시 적으로 보내야합니다 캐릭터 ( ".")는 백스포츠 토토 베트맨가 완료되었음을 나타내는 것을 나타냅니다. 데이터 보내기.
pgdatabase :: endcopy백스포츠 토토 베트맨.
int pgdatabase :: endcopy ()이 기능은 백스포츠 토토 베트맨가 처리가 완료 될 때까지 기다립니다 그만큼COPY. 언제든 발급해야합니다 마지막 문자열은를 사용하여 백스포츠 토토 베트맨로 전송되었습니다.pgdatabase :: putline또는 마지막 문자열이있는 경우 사용을 사용하여 백스포츠 토토 베트맨에서 접수되었습니다.pgdatabase :: getline. 발행해야합니다 백엔드는 프론트 엔드와“동기화”를 얻을 수 있습니다. 돌아 왔을 때 이 기능, 백엔드는 다음 쿼리를받을 준비가되었습니다.
반환 값은 성공적으로 완료시 0이 아닌 0입니다 그렇지 않으면.
예를 들어 :
pgdatabase 데이터; data.exec ( "테이블 foo (a int4, b char16, d float8)"); data.exec ( "stdin에서 foo"); data.putline ( "3 \ Ethello World \ et4.5 \ en"); data.putline ( "4 \ etgoodbye world \ et7.11 \ en"); & ... data.putline ( ". \ en"); data.endcopy ();