Обнаружена проблема с% n *% n в доступном для записи сегменте * C ++ i Qt
У меня есть программа, которая обрабатывает большие данные, которые нельзя изменить.В одном файле мы встречаем «100% na» и останов приложения.
Когда я проверил его с помощью отладчика, он возвращает *% n в обнаруженном доступном для записи сегменте *.
Я не могу изменить видимые эти данные, пользователь должен видеть "100% нет".Я думал о вставке некоторых пробелов, отличных от пробела после%.
Переписывать целые приложения - не главное.Он работает на Windows и Linuks.
В настоящее время проблема в этом коде.Я проверил это в других местах, и это было то же самое.Переменные - QStrings.
QSqlQuery query;
query.exec("insert into table_name ("+variable_with_columns_names+" values ("+variable_with_data_to_insert+");");
У вас есть идеи, как избежать этого?
edit
Подготовить запрос решеннымпроблема в этом месте.Но это ломает в других точках.Обновить, Выбрать ..., где ... = '100% нет' (как переменная), создание отчетов и другие вещи.Более того, эти данные используются как минимум 5 модулями, каждый из которых использует более 5 таблиц данных.Поэтому я подожду когда-нибудь, если у кого-нибудь будет другое решение.
PS.Еще один вопрос: почему «% n» интерпретируется как «% n», а это не так?
Забавно, если я изменю «100% na» на «100 %% na», я получув базе данных "100 %% na", когда его следует изменить на "100% na".