Member 11490990 Ответов: 3

Как я могу преобразовать целое число в cstring в visual C++ MFC?


Всем привет
Интересно, я мог бы сделать любое преобразование в MFC Ver.6, но я получаю ошибку компилятора на itoa!
Не могли бы вы дать мне образец?

Что я уже пробовал:

Каждый раз, когда я получаю ошибку POSIX и _itoa, дайте мне безопасную ошибку.

3 Ответов

Рейтинг:
26

Michael Haephrati

Чтобы преобразовать целое число в CString, лучше всего было бы:


CString MyString;
int MyInt;

MyString.Format(L"%d",MyInt);


Другой способ - использовать библиотеку std. to_wstring[^], а затем приведите результат к CString.

В этом случае ваш код будет следующим::

MyString = (CString)(std::to_wstring(MyInt).c_str());


Рейтинг:
2

Richard MacCutchan

Поскольку вы не предоставили нам никакой информации о вашей проблеме, используемом коде или фактическом сообщении об ошибке, лучшее, что я могу сделать, - это предложить прочитать _itoa, _itow функции | Microsoft Docs[^].


Рейтинг:
2

CPallini

Что о документация[^]?

Я подчеркнул Это для вас:

Из-за их потенциала для проблем безопасности, по умолчанию эти функции вызывают устаревание предупреждение C4996: Эта функция или переменная может быть небезопасной. Вместо этого рассмотрите возможность использования safe_function. Чтобы отключить устаревание, используйте _CRT_SECURE_NO_WARNINGS. Мы рекомендуем Вам изменить исходный код, чтобы использовать функцию safe_function, предложенную предупреждающим сообщением Более безопасные функции не записывают больше символов, чем заданный размер буфера. За дополнительной информацией, см. функции _itoa_s, _itow_s.