23.8.7.34 mysql_hex_string()
unsigned long mysql_hex_string(char *to, const char
*from, unsigned long length)
설명
이 함수는 SQL 문에서 사용할 수있는 유효한 SQL 문자열을 만드는 데 사용됩니다. 섹션 9.1.1 "문자열 리터럴" 을 참조하십시오.
from
에서 문자열은 각 문자가 2 자리 16 진수로 인코딩 된 16 진수 형식으로 인코딩됩니다. 결과는 to
에두고 종단의 NULL 바이트가 부가됩니다.
from
에 의해 지시되는 문자열은 length
바이트의 길이 여야합니다. to
버퍼를 적어도 length*2+1
바이트가되도록 할당해야합니다. mysql_hex_string()
가 리턴되면, to
의 내용은 NULL로 끝나는 문자열되어 있습니다. 반환 값은 종단의 NULL 문자가 포함 된 인코딩 된 문자열의 길이입니다.
반환 값은 0x
또는 value
X'
형식을 사용하여 SQL 문에 배치 할 수 있습니다. 다만, 반환 값은 value
'0x
또는 X'...'
은 포함되지 않습니다. 호출자가 요청한 것을 뭐든지 제공해야합니다.
Example
char query[1000],*end; end = strmov(query,"INSERT INTO test_table values("); end = strmov(end,"X'"); end += mysql_hex_string(end,"What is this",12); end = strmov(end,"',X'"); end += mysql_hex_string(end,"binary data: \0\r\n",16); end = strmov(end,"')"); if (mysql_real_query(&mysql,query,(unsigned int) (end - query))) { fprintf(stderr, "Failed to insert row, Error: %s\n", mysql_error(&mysql)); }
예를 사용하는 strmov()
함수는 libmysqlclient
라이브러리에 포함되어 strcpy()
처럼 작동하지만 첫 번째 매개 변수의 종단의 NULL 포인터를 반환합니다.
반환 값
to
놓인 종단의 NULL 문자가 포함 된 값의 길이.
오류
없음.