0
當我在Visual Studio 2015中執行代碼時,我收到以下消息
觸發了一個斷點。
看來,在行在stdio.h發生錯誤1265應用程序無法啓動(錯誤歸因於_stprintf_s)
{
int const _Result = __stdio_common_vswprintf_s(// this is line 1265
_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS,
_Buffer, _BufferCount, _Format, _Locale, _ArgList);
return _Result < 0 ? -1 : _Result;
}
問題在這一行,但我不明白爲什麼?
_stprintf_s(info_temp, _T("\r\n%s"), infoBuf);
這裏是我的代碼:
TCHAR* envVarStrings[] =
{
TEXT("OS = %OS%"),
TEXT("PATH = %PATH%"),
TEXT("HOMEPATH = %HOMEPATH%"),
TEXT("TEMP = %TEMP%")
};
#define ENV_VAR_STRING_COUNT (sizeof(envVarStrings)/sizeof(TCHAR*))
#define INFO_BUFFER_SIZE 32767
void main()
{
DWORD i;
TCHAR infoBuf[INFO_BUFFER_SIZE];
DWORD bufCharCount = INFO_BUFFER_SIZE;
...
bufCharCount = ExpandEnvironmentStrings(envVarStrings[1], infoBuf,
INFO_BUFFER_SIZE);
TCHAR info_temp[MAX_PATH];
_stprintf_s(info_temp, _T("\r\n%s"), infoBuf);
SetWindowText(GetDlgItem(hWnd, ID_EDIT), info_temp);
...
}
這不幫助我,它仍然是一樣的錯誤。 –
'MAX_PATH'是文件路徑中的最大字符數,而不是「PATH」變量的最大大小。由'ExpandEnvironmentStrings'返回的'bufCharCount'的值是否小於'MAX_PATH'('info_temp'字符串的大小)? – pcarter
謝謝你的想法,我沒有立即考慮到很長的路線。我改變了'TCHAR info_temp [10000]'程序已經賺了。十分感謝! PS。一千還不夠:/ –