Такое поведение кажется, изменилось между Visual Studio 2012 и 2015Не понимаю sscanf_s поведение на
int i,j;
sscanf_s("1†3", "%d†%d", &i, &j);
В приведенном выше коде J не быть установлен. Я думаю, что это возможно потому, что † не является символом ASCII. Вышеупомянутое устанавливает j, если † заменено пространством. Тем не менее, код работал отлично в Visual Studio 2012.
Любые идеи, что здесь происходит?
Edit:
Я работал вокруг этого с помощью swscanf_s вместо этого. Я полагаю, что это было случайностью, что вышеописанное работало в Visual Studio 2012.
кодировка файла? какова последовательность байтов? –
Вы проверили систему поиска ошибок поставщика или сообщили о проблеме там? Регрессия между двумя версиями, несомненно, стоит биг-билета. –