У меня есть некоторые проблемы с sscanf_s, когда я хочу извлечь два символа.sscanf_s с double% c
Пример кода:
#include "stdafx.h"
#include <iostream>
#include <string.h>
int _tmain(int argc, _TCHAR* argv[])
{
char* text = "ab";
char a = ' ';
char b = ' ';
sscanf_s(text, "%c%c", &a, &b); //the same problem when I use %1c%1c
return 0;
}
Это не работает, когда я запускаю его:
Необработанное исключение в 0x0F76D6AC (msvcr120d.dll) в ConsoleApplication2.exe: 0xC0000005: нарушение прав доступа письменной форме место 0x00000000.
Когда я пытаюсь использовать два целых числа, таких как %i%i
, тогда все работает.
'% c' из' sscan_f'need параметра размера. Например 'sscanf_s (текст,«% c% c », & a, 1, &b, 1);' ref [sscanf_f] (https://msdn.microsoft.com/en-us/library/t6z7bya3.aspx) – BLUEPIXY
** ПРОЧИТАЙТЕ ДОКУМЕНТАЦИЮ ** –
Почему вы '#include' тогда просто и 'sscanf'? –
crashmstr