Сборка выпуска завершается сбоем без ошибок при запуске EXE, если используются c-строки.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Сборка выпуска завершается сбоем без ошибок при запуске EXE, если используются c-строки.

Сообщение Anonymous »

Я написал простое консольное приложение, используя Visual C++. Он анализирует текст и помещает его в объекты моего класса.
Вот упрощенное определение моего класса:

Код: Выделить всё

class CMyClass
{
private:
static const int MAX_Q = 10;

char* qvars[MAX_Q];
int   vars_cnt;       //count of strings
public:
CMyClass():vars_cnt(0)
{}
void add_text(const char* str);
void read();
};
Текст находится в ресурсах приложения, поэтому я извлекаю его в указатель на строку C и анализирую его посимвольно.

Код: Выделить всё

void CMyClass::read()
{
const char* resQ = NULL;
resQ = GetTextResource(IDR_TEXT2);

char str[255]     = ""; //buffer for each string

while (*resQ)
{
int j = 0;
while (*resQ != '\n' && *resQ != '\r' && j < 253)
str[j++] = *resQ++;
str[j++] = '\0';  //put a null character at the end of each line

if (strlen(str) > 0) //add a new line character if the line is not empty
strcat_s(str, sizeof(str), "\n");
*resQ++;

//then put str into an object using add_text() method
}
}
Затем строка str помещается в объект с помощью метода add_text()

Код: Выделить всё

void CMyClass::add_text(const char* str)
{
if (vars_cnt >= MAX_Q)
{
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78701871/the-release-build-crashes-without-errors-on-start-exe-if-used-c-strings[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»