Обычно Alt-F4 вызывает штатную процедуру завершения приложения (окно при этом то же уничтожается).
Но taskkill - действует не так как ALT-F4 - taskkill ничего приложению не сообщает, она говорит ОС, что надо принудительно закрыть приложение со всеми вытекающими.
Если вас устраивает действие taskkill можете использовать ее, если нет - другие варианты.
Обычно просто сравнивают опции: if [ "$1" == "-a" ] ...
Зачем вам эти сложности с grep? Как правило нужно конкретное значение опции, а не просто факт ее наличия.
Вообще получить первый символ строки в баше можно так: https://www.linux.org.ru/forum/development/3510601
Потом сравнивайте его с "-".
Александр, Если в коде стоит вызов функции, то он означает вызов функции и ничего более.
В курсе этого нет
Что за курс вы проходите, может его в топку? У вас есть книга, какая-нибудь по Си? Это будет лучше всяких курсов. Язык не сложный (кроме пары тонких моментов), можно за пару недель все освоить.
Передача параметров в функции - это азы языка.
Определяете end_int так:
int end_int(int start) {
....
while(x<start)
...
}
В main вызов end_int будет таким: int j = end_int(i);
Дополню немного:
В файловой системе GUIDы не используются.
GUIDы появились в винде вместе с технологией COM, собственно в ней они и применялись изначально. Сейчас на COM работает весь .Net, так что GUIDы актуальны. Все COM объекты имеют свой уникальный GUID для идентификации.
1.Спрячьте ваш код в тег code (есть кнопочка на панельке), и верните отступы. Читать код в таком виде мало кто захочет.
Таким оформлением вы нарушаете правила тостера.
2.Опишите конкретно в чем проблема. Где ошибка? Если ошибка при компиляции, то приведите текст ошибки.
По доменным именам трафик не ходит, он ходит только по IP. Имена нужны чисто чтоб людям проще жить было.
Домен разъименовывается в IP адрес и уже по IP идет реальное подключение. Так что если в браузере указать тот же IP - будет работать.
Кто прав тут не важно. Либо у вас ошибка в конфиге, либо если все правильно, но не работает бодаться с ростелекомом, как правило, бесполезно. Их поддержка способна ответить только на элементарные вопросы. Можно попробовать письменное обращение, тогда они должны будут официально письменно ответить, но это займет время. И не факт, что ответ вас удовлетворит.
Правильный, только скобки правильно расставь в выражении. В С++ как в математике с этим. В таком виде будет считаться последовательно слева на право.
Результаты итераций надо перемножить друг с другом и вывести итоговый результат, а не резултаты каждой итерации.
Если https://www.dnsleaktest.com/ показывает адрес YYY.YYY.YY.YY, то это значит, что в интернет вы ходите с этим адресом. Видимо, ваша ВПН работает не так как вы ожидаете.
Павел, По моему вам лучше перед сохранением данных сделать проверку - не изменились ли данные, и только если не изменились - сохранять. Если изменились - возврат пользователю с ошибкой "данные изменены".
У вас должна быть реализована операция сохранения типа CAS из многопоточного lock-free программирования. Т.е. проверка "не изменились ли данные" и если не изменились, то сохранить, должна быть реализована атомарно, иначе возможна ситуация, когда между проверкой и сохранением данные будут изменены другим пользователем.
jcmvbkbc, Санитайзер специфическая вещь. Сталкивался с ситуацией, когда он упорно давал ошибки в сторонней библиотеке (Си клиент mongodb). Ошибка была связана с какими-то специфическими вариантами выравнивания переменных, передаваемых в mongo (ситуация была 1.5 года назад, подробностей уже не помню). Ошибки не было 100%. Мой коллега тогда воспроизвел ошибку на тестовом коде, писал соответствующий багрепорт, но чем закончилась история я уже не в курсе. Тогда приходилось отключать санитайзер в некоторых модулях, хотя в проекте его использовали "по умолчанию".
Предпочитаю вещи, которые не изменяют код, типа valgrind. Гораздо приятнее в использовании Intel vTune, но он не бесплатный.
Zuoya, Так и понял.
В целях улучшения навыков будет очень не плохо изучить исходники хорошо написанного http парсера и научиться его использовать в своих проектах.
Умение читать и понимать чужой код очень важно сейчас, когда по максимуму стараются использовать уже готовые библиотеки.
Zuoya, При чем тут винда? :) Мой пост был для Михаил это он про винду писал.
Лично мое мнение - написать стоящую библиотеку достаточно сложно - HTTP нынче разросся до безобразия, очень сложно все охватить. Используйте готовый HTTP парсер. Я использовал в свое время http_parser от разработчиков libuv/node.js. Так же можно взять парсер из nginxа.
Есть и готовые "легкие" и свободные веб сервера на Си, которые можно переделать под свои нужды.
Владимир Коротенко, У меня не так много опыта работы с линуксом как хотелось бы.
В своей практике я не сталкивался с проблемами локализации в линуксе. В консоли UTF8, пишешь исходники в ней же - все довольны и счастливы. Но в целом использую другой подход - просто вывожу весь текст на английском. Не патриотично, зато работает и легко реализуется :-)