За неделю до 64 урока? Рили :D ? Я ровно месяц шел до этого урока..... Да, параллельно я конечно работаю, и не всегда каждый день получается позаниматься..... А в целом согласен, в колледже помню учили год то что тут выложено в 82 уроках (все что ДО ООП).... Итог для себя : вместо года мучений, 1.5 мес учения которая реально интересно, да, не все и не всегда понятно, придется пробегаться по 2 кругу выборочно, но все же если вспоминаю колледж там где понятно было %10 - 20 от силы от чего наверное и стало не интересно в целом...... То тут понятно для меня самого %70-80 и за это огромное спасибо Сергею!
В visual studio 2022 strcat является небезопасной функцией потому код не скомпилируется, вместо нее компилятор предлагает strcat__s, но по сути это одно и тоже, т.е. все работает в штатном режиме
Сейчас готовлюсь к экзамену по С++, в следующем году буду изучать С#, как же я рада, что нашла ваш канал, все темы рассказываете подробно и в то же время очень понятно и наглядно
спасибо огромное, последние урока, мне кажется, хорошая подводка к ООП, в том плане, что всё чаще проявляется это понятие, у меня некий страх перед ним, потому что до сих пор не смог разобраться и понять, и даже притрагиваться было страшно, теперь это уходит
Никак не пойму: ну, какие уроды ставят дизы? Неужели автор что-то делает не так до такой степени, чтобы ставит диз? Да нету на всём UA-cam лучшего канала, чем этот по C++, на сегодня. Искали, знаем
Слово const при объявлении строки нужно потому, что компилятор при обращении к имени строки обращается не к адресу ячейки памяти, в которой находится первый символ, а к самому содержимому строки. При этом наличие нуля-терминатора нужно чтобы автоматически определять конец строки при таком обращении. То есть имя строки работает, как ссылка на содержимое строки. А ссылка - это, как мы помним, аналог константного указателя.
У кого проблема что не работает strcat, используйте strcat_s Это проблема вызвана из за дефолтных настроек проекта, VS пишет "(тут вроде функция написана, или что то другое) или переменная может быть не безопасна, используете strcat_s"
Спасибо за ваш труд, скажите пожалуйста,сможете ли вы в будущем записать видео по созданию полноценного приложения? Без разницы что оно будет делать, просто очень хочется понять основные принципы, а чего то подобного на ютубе не встречал. Очень нравится как вы объясняете, еще раз спасибо)
Спасибо за ваш труд! Ах да, и еще, Сергей Лукьяненко прекрасный писатель, Вы, Сергей Журавлев прекрасный программист. В чем следующий Сергей будет прекрасен?
Как только увидел название темы, нажал паузу и пошел сам вспоминать ее (читал пару недель назад в другом источнике(книга)) #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Ru"); string slovo1 = "Hello"; string slovo2 = "Jon"; string rezult = slovo1 + slovo2; cout
Большое спасибо за ваш труд, скажите пожалуйста, сможете ли вы как нибудь выложить видео в котором покажите как писать полноценное приложение, без разницы что оно будет делать. Просто курсов по основам программирования очень много, а чего то подобного не встречал, даже пример без объяснений будет очень полезен, заранее благодарю) C++ учим в колледже, но смотря ваши видео вижу, что многое не объяснили.
СПЕКТР. Какой же Лукьяненко был крутой пока не скатился. Я не побось этого слова гениальный писатель был. Проводник отсюда...вы Сергей. Если читали понимаете что это значит.
вухахах вот тут не соглашусь, вухахахаха натоящие си-гуру делают конкатенацию строк путем выделения памяти через malloc с необходимым размером. Затем с помощью memcpy копируют область памяти первого массива чаров (ессесна без \0) в область, выделенную malloc, и после копят ту да же область из второго массива с отступом по размеру скопированной памяти из первого массива, уже с \0... случилось недавно как раз в обучательных целях сочинять конкатенацию строк в СИ и мне лютые гуру с лора посоветовали именно данный способ, как наименее затратный по ресам, вместо strcat()
Ну, С++ - это больше бэк-эндовый язык, вроде как, так что то, что придётся заниматься фронт-ендом и работать с пользователем, - не гарантированно. Однако, строки играют огромную роль, несомненно. Тут без каких-либо нареканий.
Сергей, спасибо за уроки! Но почему-то не определяется в VS 17 string? Всё подключено, начинает определятся только после добавления std::string и тогда начинает всё работать. Может кто знает в чём дело? #include #include #include // using namespace std; int main() { SetConsoleCP(1251);// Руссификация SetConsoleOutputCP(1251); cout
5:10 ошибка: Ошибка C4996 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Что делать если такую ошибку выдаёт
в новой версии не strcat, а strcat_s, не помню точно, что означает эта _s, почитайте, если интересно, вроде можно какую-то манипуляцию сделать и s писать не нужно
У меня есть потребность интежеровское значение также добавить в строку, но (char)nNamesNum + 48 - 2) почему-то не работает. Как мне это сделать? И вообще, что еще и каким образом можно добавлять в строку?
Может кто-нибудь подскажет, прописала setlocale(LC_ALL, "rus"), однако если вывести text3=text1+text2, где text1 и text2 введены через cin на русском, получается абракадабра. Если text1 и text2 инициализировать в программе на русском, то text3 нормально выводится на русском.
Если вввожу переменную string через cin, не определяет русский язык, выдает точки и вопросы. Если сразу присваиваю, то все в порядке. Как быть? Спасибо.
Можливо я бачив не всі твої відео, але в одному з них де ти розповідав про історію як ти став програмістом ти не розповів в якій саме сфері працюєш і чим займаєшся, мені дуже цікаво було б дізнатися!!!
при обьявлении массива [5] - означает массив на 5 элементов, от нуля до 4. На этом заостряли внимание при изучении массивов. const char a[5]; //создать массив на 5 элементов cout
Всем здравствуйте! Есть проблема!!! const char* string = "ABC"; sizeof(string) = 8. Почему 8??? Ведь 3 символа и \0, итого 4. Если написать хоть 100 букв вместо "ABC" то все равно sizeof(string) = 8... При этом если вот так: char string[ ] = "ABC"; sizeof(string) = 4. В чем тут дело??? А если дописать вот так: const char* string2 = string; то все равно: sizeof(string) = 4. ; sizeof(string) = 8
sizeof возвращает размер сущности в скобках. const* char string - это указатель. (size of возвращает размер указателя, 8 байт - это размер для 64 битных указателей). char string[] - это статический массив. (size of возвращает размер массива). Почему 4? Записью типа "ABC" вы вначале создаете указатель на строку ABC\0 (тоесть появляется терм нуль, вместе с которым как раз 4 символа, и эти 4 символа перемещаются в статический массив. А когда вы дописываете string2 = string, вы опять создаете указатель, размер которого 8 байт, который ссылается на первую ячейку массива string[]. Автор еще будет (или уже) рассказывать о статических массивах, работой sizeof с ними, и как они неявно рассыпаются на указатель при передаче в функции.
вбей в переводчик "string", там несколько значений перевода. можно перевести как "строка", а можно как "шнур". Остается только свпомнить, как выглядят стринги
Спасибо за уроки, пожалуйста, не останавливайся и продолжай в том же духе. За неделю по твоим курсам узнал куда больше, чем за год в ВУЗе
Пожалуйста, благодарю за поддержку =)
+
@Zhantore Yesen согласен, в вузе и близко такого не дают
Тогда зачем платить деньги в ВУЗ? За что берут деньги? За корочку бесполезную?
За неделю до 64 урока? Рили :D ?
Я ровно месяц шел до этого урока..... Да, параллельно я конечно работаю, и не всегда каждый день получается позаниматься.....
А в целом согласен, в колледже помню учили год то что тут выложено в 82 уроках (все что ДО ООП)....
Итог для себя : вместо года мучений, 1.5 мес учения которая реально интересно, да, не все и не всегда понятно, придется пробегаться по 2 кругу выборочно, но все же если вспоминаю колледж там где понятно было %10 - 20 от силы от чего наверное и стало не интересно в целом...... То тут понятно для меня самого %70-80 и за это огромное спасибо Сергею!
Отличная книга. Первая книга этого автора которую я прочел. "Черновик" и "Чистовик" тоже произвели впечатление. Еще раз спасибо за уроки.
Пожалуйста! Книги хороши =)
В visual studio 2022 strcat является небезопасной функцией потому код не скомпилируется, вместо нее компилятор предлагает strcat__s, но по сути это одно и тоже, т.е. все работает в штатном режиме
А ты хорошь спс
мега хорош
Спасибо !
Можно просто прописать в начале дефайн на взятие безопасности на себя
Сейчас готовлюсь к экзамену по С++, в следующем году буду изучать С#, как же я рада, что нашла ваш канал, все темы рассказываете подробно и в то же время очень понятно и наглядно
и в кайф заниматься этим)
#string #конкатенация #SimpleCode #урокипрограммирования
77 урок в плейлисте, а мне еще как минимум 80 раз "спасибо" писать, ладно спасибо:)
Большое спасибо вам за урок и прекрасное пояснение, Сергей!
спасибо огромное, последние урока, мне кажется, хорошая подводка к ООП, в том плане, что всё чаще проявляется это понятие, у меня некий страх перед ним, потому что до сих пор не смог разобраться и понять, и даже притрагиваться было страшно, теперь это уходит
А строки оказываются интересные. Даже получил удовольствие
Если в вашей версии Visual Studio функция strcat не работает,
используйте strcat_s - тоже самое
Никак не пойму: ну, какие уроды ставят дизы? Неужели автор что-то делает не так до такой степени, чтобы ставит диз? Да нету на всём UA-cam лучшего канала, чем этот по C++, на сегодня. Искали, знаем
скорее всего просто так, либо у них не получается просто программировать. Но это не вина автора.
Охохо, Мартин Игоревич Дугин, это же из Спектра, Лукьяненко! Лайк, огромный ЛАЙК!
Спасибо за уроки, пожалуйста, не останавливайся и продолжай в том же духе. За неделю по твоим курсам узнал много нового.
привет из 2023. Спасибо большое за уроки!"
За две недели узнал больше, чем за всю жизнь
спасибо, Ваши труды!
Спасибо за урок
Спасибо
Слово const при объявлении строки нужно потому, что компилятор при обращении к имени строки обращается не к адресу ячейки памяти, в которой находится первый символ, а к самому содержимому строки. При этом наличие нуля-терминатора нужно чтобы автоматически определять конец строки при таком обращении. То есть имя строки работает, как ссылка на содержимое строки. А ссылка - это, как мы помним, аналог константного указателя.
У кого проблема что не работает strcat, используйте strcat_s Это проблема вызвана из за дефолтных настроек проекта, VS пишет "(тут вроде функция написана, или что то другое) или переменная может быть не безопасна, используете strcat_s"
Спасибо
большое спасибо
Visual Code нет ни strcat, и strcat_s. Что делать?
Если у кого-то выводит ошибку, что strcat (или strcat_s) не определено - подключите , и все заработает
Спасибо за ваш труд, скажите пожалуйста,сможете ли вы в будущем записать видео по созданию полноценного приложения? Без разницы что оно будет делать, просто очень хочется понять основные принципы, а чего то подобного на ютубе не встречал. Очень нравится как вы объясняете, еще раз спасибо)
Пожалуйста. Полноценные приложения будут, но только после того как запишу все запланированные курсы для новичков.
@@SimpleCodeITгдеееее
когда-нибудь))@@yastepan
Жду... @@SimpleCodeIT
@@Orange_999 у него есть создание приложения на джава
Спасибо за качественную обучашку :) порадовало отсутствие слов-паразитов))
Спасибо за ваш труд! Ах да, и еще, Сергей Лукьяненко прекрасный писатель, Вы, Сергей Журавлев прекрасный программист. В чем следующий Сергей будет прекрасен?
Как только увидел название темы, нажал паузу и пошел сам вспоминать ее (читал пару недель назад в другом источнике(книга))
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Ru");
string slovo1 = "Hello";
string slovo2 = "Jon";
string rezult = slovo1 + slovo2;
cout
спасибо !
Спасибо за знания !
Супер, спасибо за урок!
Лайк за уроки и раннего Лукьяненко
Спасибо за урок!
Самое крутое, что есть в С++ это cin >> ; Даёт возможность по эксперементировать и поиграться )
Огромное спасибо! :)
Пожалуйста!
*Л. а. й. к. о. с.* за видос.
точно не помню причину, но в микроконтроллерах рекомендуется юзать += типа меньше жрет ресурсов
Сто лет назад читал эту книгу, но все-таки вспомнил. Имя Мартин видимо запомнилось.
Большое спасибо за ваш труд, скажите пожалуйста, сможете ли вы как нибудь выложить видео в котором покажите как писать полноценное приложение, без разницы что оно будет делать. Просто курсов по основам программирования очень много, а чего то подобного не встречал, даже пример без объяснений будет очень полезен, заранее благодарю) C++ учим в колледже, но смотря ваши видео вижу, что многое не объяснили.
Хорошие занятия. Подписался на вас и вк.
а vs 2019 просит писать strcat_s
@Кирилл Берзиньш у меня без s выводил варнинг)
пишет : function strcat is unsafe
Больше котиков! Ес, май инглиш вери вэл
Спасибо!
спасибо очень помогло
👍👍✌️👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Подскажите, какая функция нужна для конкатенации в Qt creator? strcat нет
СПЕКТР. Какой же Лукьяненко был крутой пока не скатился. Я не побось этого слова гениальный писатель был. Проводник отсюда...вы Сергей. Если читали понимаете что это значит.
спасибо, очень помогло!
вухахах вот тут не соглашусь, вухахахаха
натоящие си-гуру делают конкатенацию строк путем выделения памяти через malloc с необходимым размером. Затем с помощью memcpy копируют область памяти первого массива чаров (ессесна без \0) в область, выделенную malloc, и после копят ту да же область из второго массива с отступом по размеру скопированной памяти из первого массива, уже с \0...
случилось недавно как раз в обучательных целях сочинять конкатенацию строк в СИ и мне лютые гуру с лора посоветовали именно данный способ, как наименее затратный по ресам, вместо strcat()
Тут не гуру обучают а ламеров)). Научимся потом и так, как ты сказал. Интересно, по любому, узнать различные варианты. Спасибо.
Дугин))))))
Лайк за Дугина, мартин алексеевич.
Ну, С++ - это больше бэк-эндовый язык, вроде как, так что то, что придётся заниматься фронт-ендом и работать с пользователем, - не гарантированно. Однако, строки играют огромную роль, несомненно. Тут без каких-либо нареканий.
Сергей, спасибо за уроки! Но почему-то не определяется в VS 17 string? Всё подключено, начинает определятся только после добавления std::string и тогда начинает всё работать. Может кто знает в чём дело?
#include
#include
#include //
using namespace std;
int main()
{
SetConsoleCP(1251);// Руссификация
SetConsoleOutputCP(1251);
cout
5:10 ошибка:
Ошибка C4996 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Что делать если такую ошибку выдаёт
в VS 2022 надо писать strcat_s,
@@kveettveek спасибо, помогло!
Конкатенация строк похож на JavaScript через плюсика +
В Visual Code нет функции strcat b strcat_s. Как быть?
в новой версии не strcat, а strcat_s, не помню точно, что означает эта _s, почитайте, если интересно, вроде можно какую-то манипуляцию сделать и s писать не нужно
8:41 - string.
Да, просто читайте выплывшее описание ошибки. Теперь просит писать функцию как strcat_s.
в VS 2022 надо писать strcat_s, если у кого то ругается на strcat
ths
Is C method works faster than C++ method?
У меня компилятор ругается, требует функцию strcat_s вместо strcat. Что за фигня? Даже не компилирует без _s
Как вернуть строку из функции?
Интересно, что string без проблем конкатенирует сишные массивы char, если оно кому нибудь надо конечно.
Нужна ли физика для программирования?
Смотря в какой сфера программировать. Если хочешь писать ПО для спутников, всяких там автопилотов, то да. Но в других сферах вообще не нужна.
Да, если пишешь движок для игры.
Cними видео "Кем можно устроиться на работу владея языком с++"!!!
Программистом лол)))
Касиром в пятерочке
А как заполнить первую строку второй строкой, у первой строки стоит ограничение по символам и вторая строка меньше чем первая?
У меня в компиляторк говорит что strcat неправильный?Есть советы
Попробуйте использовать strcat_s
не работает функция strcat, буквально переписал код, всеравно 0 реакции.
Используйте strcat_s();
отключи в настройках проекта->c/c++->общие->sdl проверка->нет
strcat_s попробуй
@А. С., strcat() при дефолтных настройках проекта не работает, типо strcat может быть небезопасен.
У меня есть потребность интежеровское значение также добавить в строку, но (char)nNamesNum + 48 - 2) почему-то не работает. Как мне это сделать? И вообще, что еще и каким образом можно добавлять в строку?
std::to_string(IntValue) Вам в помощь
Может кто-нибудь подскажет, прописала setlocale(LC_ALL, "rus"), однако если вывести text3=text1+text2, где text1 и text2 введены через cin на русском, получается абракадабра. Если text1 и text2 инициализировать в программе на русском, то text3 нормально выводится на русском.
Если вввожу переменную string через cin, не определяет русский язык, выдает точки и вопросы. Если сразу присваиваю, то все в порядке. Как быть?
Спасибо.
setlocale в коде есть?
Книга "Мартин Боруля ", если кто не понял...
Я не понял, а вот слова:"..чтобы нам не испоганить вот эту строчку". Что значит не испоганить? Что с ней может случиться?
а string ведь должен входить в iostream
setlocale не работает , в таблице выводи кириллицу , а с клавиатуры нет
Мартин Иден!
подскажите, пожалуйста, а как в классе string получить длину строки?
size(строка)
Имя_строки.size();
Можливо я бачив не всі твої відео, але в одному з них де ти розповідав про історію як ти став програмістом ти не розповів в якій саме сфері працюєш і чим займаєшся, мені дуже цікаво було б дізнатися!!!
5:50 а почему Hello не помещается, там же в скобках [5], то есть от 0 до 5, и для Hello и для "\0" должно хватить места, "\0" это ж 1 символ
Потому что H - 1, E - 2, L - 3, L - 4, O - 5, \0 - 6
при обьявлении массива [5] - означает массив на 5 элементов, от нуля до 4. На этом заостряли внимание при изучении массивов.
const char a[5]; //создать массив на 5 элементов
cout
+
13:37 что за книга? скажи пожалуйста
Спектр
up
Как с клавиатуры ввести через cin в string строку на русском, а затем вывести её на экран правильно а не крякозяблики?
setlocale(LC_ALL, "rus");
и да, привет из 2024 месяц февраль
Всем здравствуйте! Есть проблема!!!
const char* string = "ABC";
sizeof(string) = 8. Почему 8??? Ведь 3 символа и \0, итого 4. Если написать хоть 100 букв вместо "ABC" то все равно sizeof(string) = 8...
При этом если вот так:
char string[ ] = "ABC";
sizeof(string) = 4.
В чем тут дело???
А если дописать вот так:
const char* string2 = string; то все равно:
sizeof(string) = 4. ; sizeof(string) = 8
sizeof возвращает размер сущности в скобках.
const* char string - это указатель. (size of возвращает размер указателя, 8 байт - это размер для 64 битных указателей).
char string[] - это статический массив. (size of возвращает размер массива). Почему 4? Записью типа "ABC" вы вначале создаете указатель на строку ABC\0 (тоесть появляется терм нуль, вместе с которым как раз 4 символа, и эти 4 символа перемещаются в статический массив.
А когда вы дописываете string2 = string, вы опять создаете указатель, размер которого 8 байт, который ссылается на первую ячейку массива string[].
Автор еще будет (или уже) рассказывать о статических массивах, работой sizeof с ними, и как они неявно рассыпаются на указатель при передаче в функции.
к сожалению strcat устарел, cstring библиотека дает доступ к strcat_s
Нихуя не понял, но очень интересно)
не досмотрел..вери проста)
зачем библиотека, если итак строки работают? или в ней расширенный функционал?
Доп функции
спектр
5:00
Все тут уже дохрена взрослые, после вузов, шараг, универов, а я смотрю эти видео учась в 8 классе.
я тоже)) ток ты уже в 9, ну что как успехи?
@@temshik.invalid я уже на 2 курсе технаря, пересматриваю иногда)
Интересно почему женские трусы стрингами называются. В чем сходство?
вбей в переводчик "string", там несколько значений перевода.
можно перевести как "строка", а можно как "шнур". Остается только свпомнить, как выглядят стринги
Настолько хреновые функции? Я когда подобную функцию делал, (strcat) научил её работать и с массивом, в котором нихрена нет...
Дадаясамыйумный(нет)
Привет, а как ты проверял destination на наличие мусора? Можешь, если не сложно, скинуть код этой функции? Интересно было бы посмотреть.
Спасибо за урок👍
спасибо
12:00
10:00
9:00
спасибо
Спасибо