theCOPY스포츠 토토스포츠 토토읽거나 쓸 수있는 옵션이 있습니다 에 사용 된 네트워크 연결에libpq ++. 따라서 기능이 필요합니다 이 네트워크 연결에 직접 액세스하려면 응용 프로그램이 가능합니다 이 기능을 최대한 활용하십시오.
pgdatabase :: getline
a
Newline-Terminated 문자 라인 (
백엔드 서버) 버퍼로String크기길이.
int pgdatabase :: getline (char* string, int length)
유닉스 시스템 루틴처럼fgets ()
,이 루틴은까지 복사합니다.길이-1문자String.gets ()
종단 Newline을 제로 바이트로 변환합니다.
pgdatabase :: getline
반환eof파일 끝에서 전체 인 경우 0
라인이 읽히고 1 버퍼가 가득 차면 1
Newline 종료는 아직 읽지 않았습니다.
신청서가 새로운 지 확인 해야하는지 확인해야합니다.
라인은 백 슬래시와 기간 (이 뒤 따릅니다.\.)는 백엔드 서버를 나타냅니다
의 결과 보내기를 마쳤습니다COPY. 따라서 응용 프로그램이라면
이상의 라인을받을 것으로 예상길이-1문자 길이, 응용 프로그램은
반환 값pgdatabase :: getline
매우 조심스럽게.
pgdatabase :: putline
보내기 a
널리 터진Stringto
백엔드 서버.
void pgdatabase :: putline (char* string)
응용 프로그램은 문자를 명시 적으로 보내야합니다\.백엔드를 나타 내기 위해 데이터 보내기가 완료되었습니다.
pgdatabase :: endcopy
백엔드와 동기화됩니다.
int pgdatabase :: endcopy ()
이 기능은 백엔드가 끝날 때까지 기다립니다
처리COPY. 둘 중 하나입니다
마지막 문자열이 백엔드로 전송 될 때 발행됩니다.
사용pgdatabase :: putline
또는
마지막 문자열이 백엔드에서 사용하여 수신 된 경우pgdatabase :: getline
. 그럴 것입니다
발행 또는 백엔드가 얻을 수 있습니다"에서
동조"프론트 엔드와 함께. 이것에서 돌아 왔을 때
함수, 백엔드는 다음을받을 준비가되었습니다
스포츠 토토.
반환 값은 성공적으로 완료시 0이 아닌 0입니다 그렇지 않으면.
예를 들어 :
pgdatabase 데이터; data.exec ( "테이블 foo (a int4, b char (16), d double precision); data.exec ( "stdin에서 foo"); data.putline ( "3 \ Thello World \ t4.5 \ n"); data.putline ( "4 \ tgoodbye world \ t7.11 \ n"); ... data.putline ( "\\. \ n"); data.endcopy ();