Что-то вроде этого должно быть сделано:
std::copy(buffer + index_of_start_of_sql, buffer + index_of_end_of_sql, std::ostream_iterator<char>(std::cout, ""));
Это копирует содержимое буфера символ за символом в выходной поток (в данном случае std::cout
).Тогда вам не нужно беспокоиться об обработке кавычек.
Единственное, что вам нужно, чтобы убедиться в правильности, это два индекса (начало и конец фрагмента sql).
ПРИМЕЧАНИЕ: этораспечатает то, что находится в буфере, но не будет экранировать кавычки.Если вам нужно избежать кавычек, то вам нужно будет использовать другой подход.например, используйте for_each
и пользовательский функтор, чтобы проверить, является ли символ '
или "
и экранировать при необходимости ...