powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Аргументы функций wcscpy_s, wcscat_s
10 сообщений из 10, страница 1 из 1
Аргументы функций wcscpy_s, wcscat_s
    #39483564
l-evgene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
В учебниках ничего вразумительного не нашел.
Код: plaintext
1.
2.
3.
4.
	wcscpy_s(ExistingFileName, pPathSource);														
	wcscat_s(ExistingFileName, _countof(ExistingFileName), pFileName);								//откуда копировать
	wcscpy_s(NewFileName, PathDest);																
	wcscat_s(NewFileName, _countof(NewFileName), pFileName);										//куда копировать

Выяснил, что в этих функциях в качестве аргументов можно использовать как переменные, так и указатели на них (без операнда (*)).
Это на самом деле так задумано или есть какая-то засада?
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39483571
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В гугле не пробовал поискать или в MSDN ? https://msdn.microsoft.com/ru-ru/library/td1esda9.aspx
Это виндовые функции, в учебниках их не описывают.
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39483776
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
l-evgeneВыяснил, что в этих функциях в качестве аргументов можно использовать как переменные, так и указатели на них (без операнда (*)).
Это на самом деле так задумано или есть какая-то засада?
Массивы в С/С++ при передаче в функции, ожидающие указатель, неявно преобразуются к указателю на 0-й элемент
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39483853
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
l-evgene Выяснил, что в этих функциях в качестве аргументов можно использовать как переменные, так и указатели на них (без операнда (*)).


Это на самом деле так задумано или есть какая-то засада?

нет, ты выяснил неверно, параметры - ТОЛЬКО указатели.
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39483858
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskyl-evgeneВыяснил, что в этих функциях в качестве аргументов можно использовать как переменные, так и указатели на них (без операнда (*)).
Это на самом деле так задумано или есть какая-то засада?
Массивы в С/С++ при передаче в функции, ожидающие указатель, неявно преобразуются к указателю на 0-й элемент


вообще, наверное в С все не совсем так, поскольку сигнатуры функций там могут быть неизвестны. Поэтому вообще имя массива (без квадратных скобок) в контексте вычисления выражения должно всегда восприниматься как адрес его первого элемента.

наверное, и в С++ так же, поскольку не всегда известна сигнатура полностью.
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39483871
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://msdn.microsoft.com/ru-ru/library/td1esda9.aspx
там дополнительно шаблоны есть
Код: plaintext
1.
2.
3.
4.
5.
template <size_t size>  
errno_t strcpy_s(  
   char (&strDestination)[size],  
   const char *strSource   
); // C++ only  
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39484130
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
l-evgeneДобрый день.
В учебниках ничего вразумительного не нашел.
В учебниках скорее всего есть упоминание о базовом строковом API таком как
- strcpy(..)
- strcat(..)

А то что ты нашел - это братья-близнецы этого API разработанные Microsoft для своих нужд.
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39484174
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА то что ты нашел - это братья-близнецы этого API разработанные Microsoft для своих нужд.Да, крайне странный набор функций. Во-первых, печалит warning про то, что str*** все такие не безопасные, ой-ой. Каждый раз теперь приходится дефайн добавлять. Во-вторых, если использовать эти _s фукции, придётся тащить за собой новый рантайм, а это ещё хуже.
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39484179
l-evgene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь!
...
Рейтинг: 0 / 0
Аргументы функций wcscpy_s, wcscat_s
    #39484202
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbmaytonА то что ты нашел - это братья-близнецы этого API разработанные Microsoft для своих нужд.Да, крайне странный набор функций. Во-первых, печалит warning про то, что str*** все такие не безопасные, ой-ой. Каждый раз теперь приходится дефайн добавлять. Во-вторых, если использовать эти _s фукции, придётся тащить за собой новый рантайм, а это ещё хуже.
C++ вообще опасный язык изначально.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Аргументы функций wcscpy_s, wcscat_s
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]