Усечение переменной TCHAR в VS 2017 с AutoCAD 2019 - PullRequest
0 голосов
/ 24 июня 2018

При компиляции моего старого объектного кода в Visual Studio 2017 и тестировании в AutoCAD 2019 следующая функция печатает только fname = T вместо целого fname = TestFileName при вызове моей собственной функции acad_printf.Эта проблема не возникает при вызове ads_printf или acutPrintf напрямую.У меня никогда не было проблем с этим в предыдущих версиях.tchar.h включено, TCHAR набрано wchar_t, TILE_STR_LIMIT - 2035.

    void acad_printf (const TCHAR *fmt, ...)
/*****************************************/

{
  TCHAR buf[500];
  va_list parg;

  va_start(parg, fmt);  /* Initialize variable arguments. */
  _vstprintf(buf,fmt,parg);
  ads_printf(_T("%.130s"),buf);
  va_end(parg);  
}

void test (void)
{

    TCHAR fname[TILE_STR_LIMIT] = _T("TestFileName");

    acad_printf(_T("\nfname = %s"), fname);
}

1 Ответ

0 голосов
/ 25 июня 2018

Недопустимый формат% s, требуется% ls в

acad_printf(_T("\nfname = %ls"), fname);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...