У меня есть строка, похожая на L"\"4\""
, и я хочу преобразовать ее в целочисленное значение.
std::wstring wsFoo(L"\"4\"");
int iSize = 1; // Number of characters the number will have
int iResult = -1;
swscanf_s(wsFoo.c_str(), L"\"%*d\"", iSize, &iResult);
wprintf_s(L"%d", iResult);
Согласно http://www.cplusplus.com/reference/clibrary/cstdio/printf/ звездочка в %*d
должна означать: Ширина не указана в строке формата, но является дополнительным целочисленным аргументом значения, предшествующим аргументу, который должен быть отформатирован.
И все же значение iResult
будет отображаться как -1после этого фрагмента кода.Почему?
Не знаю, помогает ли это, но я использую MSVC ++ 2010.