Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2017, 05:11   #141
bugaboo
Пользователь
 
Регистрация: 18.06.2017
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
Это не дополнительные const'ы. Они обязательны для данного случая, согласно стандарту языка.
Я не об этом. Просто в классе у меня char* используется, я уточнял, надо ли вводить дополнительный const char*, чтоб работало.
Цитата:
Сообщение от Croessmah Посмотреть сообщение
Тогда strcpy_s, но функции *_s непереносимы. Так что код сразу будет не портабелен.
и с 3-м ненужным аргументом. это не тру. Лучше уж пусть с warningами будет.
Цитата:
Сообщение от Croessmah Посмотреть сообщение
Чё т на рафу похоже. )))
что такое рафа?
bugaboo вне форума Ответить с цитированием
Старый 28.06.2017, 05:16   #142
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от bugaboo Посмотреть сообщение
я уточнял, надо ли вводить дополнительный const char*, чтоб работало.
Каст строковых литералов к указателям не на константы раньше был устаревшим, теперь запрещен, т.е.
Код:
char *p = "hey";//ошибка для современного кода
Цитата:
Сообщение от bugaboo Посмотреть сообщение
и с 3-м ненужным аргументом. это не тру.
Там помимо аргумента еще многое не так работает как в strcpy.
Croessmah вне форума Ответить с цитированием
Старый 28.06.2017, 05:20   #143
bugaboo
Пользователь
 
Регистрация: 18.06.2017
Сообщений: 55
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
чо аж такой старый?! ...можно попробовать ключ
--std=c++11
sparc1.jpg
bugaboo вне форума Ответить с цитированием
Старый 28.06.2017, 05:21   #144
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

http://en.cppreference.com/w/c/string/byte/strcpy

Написано, что переносимы....
alexzk вне форума Ответить с цитированием
Старый 28.06.2017, 05:21   #145
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от bugaboo Посмотреть сообщение
ээ...ну 1 черточку, вместо 2х?) перед std
alexzk вне форума Ответить с цитированием
Старый 28.06.2017, 05:30   #146
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
Написано, что переносимы....
Это про что?
Croessmah вне форума Ответить с цитированием
Старый 28.06.2017, 05:32   #147
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
Это про что?
Про _s функции, точнее там дефайны какие-то проверять нада, но упомянуты, как часть С++11 они там.
alexzk вне форума Ответить с цитированием
Старый 28.06.2017, 05:34   #148
bugaboo
Пользователь
 
Регистрация: 18.06.2017
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
Каст строковых литералов к указателям не на константы раньше был устаревшим, теперь запрещен, т.е.
Код:
char *p = "hey";//ошибка для современного кода
Странно, у меня всё спокойно компилируется. На Visual Studio 2017. Ошибка вылетала явно не из-за этого, а из-за
Код:
strcat(c, a); strcat(c+la, b);
Цитата:
Сообщение от alexzk Посмотреть сообщение
ээ...ну 1 черточку, вместо 2х?) перед std
пробовал, пишет то же самое. Это очень старый комп, ПО к нему старое или "под старину", не знают там таких слов. Его и эмулировать то с большим трудом удалось.
bugaboo вне форума Ответить с цитированием
Старый 28.06.2017, 05:37   #149
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
Про _s функции, точнее там дефайны какие-то проверять нада, но упомянуты, как часть С++11 они там.
Их упоминание появилось только в C11, но они не обязательны к реализации. А те самые макросы регулируют есть ли они и хочет ли пользователь их использовать.

Цитата:
Сообщение от bugaboo Посмотреть сообщение
Странно, у меня всё спокойно компилируется. На Visual Studio 2017
VS со стандартом много где не дружит. Хотя они исправляются.

Последний раз редактировалось Croessmah; 28.06.2017 в 05:40.
Croessmah вне форума Ответить с цитированием
Старый 28.06.2017, 05:46   #150
bugaboo
Пользователь
 
Регистрация: 18.06.2017
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
VS со стандартом много где не дружит. Хотя они исправляются.
а я думал просто типа "неявное приведение типа"...
А как правильно заполнять динамический массив при помощи строкового литерала?
bugaboo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MMX сложить два числа gansm Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 29.10.2010 05:16
как сложить два числа с плавающей точкой forsy Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 29.03.2010 02:15
Макрос: сложить два числа белочка Microsoft Office Excel 6 23.12.2009 22:02
Сложить два числа и вывести результат на экран We1c0m3 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 23.05.2009 11:41
Сложить два числа iwaniwan Win Api 3 23.04.2009 06:27