다음 코드를 고려 마지막 기호 잘라 : 이제현재 snprintf는
char *myContent = "content";
int size = snprintf(NULL, 0, "INSERT INTO myTable (col1) VALUES('%s')",myContent);
char *query = malloc(size+2);
snprintf(query, size, "INSERT INTO myTable (col1) VALUES('%s')",myContent);
을 나는 마지막 브라켓이 잘립니다 문제가 있습니다
(gdb) print query
$2 = 0x616080 "INSERT INTO myTable (col1) VALUES('content'"
이 유효한 SQL 문이 아닌를, 그래서 당신이 마지막 대괄호가없는 이유는 무엇일까요?
ha .. 이미 char * query = malloc (size + 1); 하지만 snprintf 내에서 +1을 잊어 버렸습니다. 감사 – mkind