Код работает хорошо, в то время как длина массива> 1 но когда я обращаюсь к 1, это дает некоторые ошибки в stdio.h *
Вот мой код:
#include "stdafx.h"#include <iostream>
using namespace std;
int main()
{
char sentence[2];
cout << "Enter your sentences : ";
gets_s(sentence);
cout << sentence << endl;
system("PAUSE");
return 0;
}
Вот ошибка в stdio.h:
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
char*, gets_s,
char, _Buffer)
Скорее всего, вы пытаетесь получить строковый литерал длиной более 2 символов, но не можете вставить его в буфер:
char sentence[2];
Увеличьте размер буфера до чего-то более приемлемого:
char sentence[255];
Как говорится в C ++, вы должны предпочесть станд :: строка в массив символов и станд :: GetLine в gets_s
,
Других решений пока нет …