русский
Germany.ruForen → Архив Досок→ Programmierung

Лажа в МСДН?

27.11.17 09:54
Лажа в МСДН?
 
-sh- завсегдатай

МСДН утверждает что

если _MBCS то _tcscpy преобразуется в _mbscpy.

У меня имеется такой МБЦС проэкт.

Так вот когда я ставлю курсор на _tcscpy и нажимаю F12 (goto definition), то я попадаю на строчку: #define _tcscpy strcpy (определенное в tchar.h).

А это не то, что описано в документации: не _mbscpy.

В этом же файле неколько строк выше есть комментарий: /* Note that _mbscat, _mbscpy and _mbsdup are functionally equivalent to

strcat, strcpy and strdup, respectively. */

Однако функция _mbscpy реально существует в другом файле: mbstring.h.

Причем:

strcpy(char*, const char*)

_mbscpy(unsigned char*, const unsigned char*).

Т.е. автоматом strcpy на _mbscpy заменить невозможно, т.к. будет ошибка компиляции: не может преобразовать char* в unsigned char*.

Что за путаница такая? И действительно ли эти функции равнозначны? Если да, то зачем их две?

 

Sprung zu