2016-04-05 6 views
0

Я написал код ... Мне пришлось использовать «strcpy_s» в нем ... программа компилируется, но я получаю сообщение об ошибке отладки ... Я исследовал бит и обнаружил, что эта ошибка возникает из-за неправильного размера в параметрах «strcpy_s» ... но я дважды проверял, и мой размер в порядке ... Я не понимаю, почему он не работает ... Любая помощь будет приветствоваться. ... Приготовить спасибо ... еще одна вещь, мне нужно, чтобы инициализировать элементы конструктора в самом конструкторе (это указано в моем проекте ...)Ошибка отладки (слишком маленький буфер) инициализация конструктора

Из заголовка файла

class CyclicShift 
{ 
private: 
char fUpperCase[26];//A-Z 
char fLowerCase[26];//a-z 

public: 
CyclicShift(); 

в. cpp fi ле (инициализации конструктора)

CyclicShift::CyclicShift() 
{ 
strcpy_s(fUpperCase, sizeof (fUpperCase), "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 
strcpy_s(fLowerCase, sizeof (fLowerCase), "abcdefghijklmnopqrstuvwxyz"); 
} 
+2

Почему бы не использовать 'std :: string'? – NathanOliver

ответ

4

Вы char буферы должны быть 27 char s долго. Для 26 букв алфавита плюс конечный символ «\ 0», который имеет все строки в стиле C.

Смежные вопросы