У вас не верная информация 20-летней давности. Она и тогда уже была не верна.
sendmail как и все широко используемые почтовики достаточно безопасен, чтоб его не ломали.
Другое дело, что вы криво можете настроить почтовый сервер (например оставили открытый relay), оставили дыру в безопасности хоста где он работает (другие открытые порты, не безопасное ПО и т.п.), или просто пользователи получают письма с подозрительными ссылками и переходят по ним.
Но это не зависит от безопасности самого почтовика.
sendmail, postfix, exim - широко и активно применяются во всем интернете. Они давно уже избавились от детских болезней. Да, конечно, никто не гарантирует, что там нет дыр, но те что находят - исправляются. Наверняка приведенный список не полон, это просто то с чем я лично имел дело.
В общем случае никак. Можно вывести или задаваемый список столбцов или все.
Возможно в каких-то конкретных вариантах СУБД есть свои не универсальные механизмы для этого, но я о таких не знаю.
Есть ескейп последовательности, которые позволяют среди прочего и позиционировать курсор. Но не все консоли всех ОС поддерживают эти фишки или они могут различаться. В общем это отдельный квест, он еще и платформо зависимый.
Есть кросс-платформенные библиотеки, которые реализуют подобные возможности, например ncurses. В питоне, по моему, есть модуль curses.
alenus, В следующий раз этот порт изменится и вам придется переписывать правило.
Нужно действовать не так. Нужно выпускать весь исходящий трафик (с любого порта внутри сети) на определенный внешний порт (и возможно адрес).
Метод get у тебя должен возвращать int, а в return у тебя указан array. array - это массив, следовательно ты пытаешься вернуть массив там где нужно вернуть int. В С/С++ массивы на прямую не возвращаются и не передаются (как параметры в функции), вместо них возвращается (и передается) указатель. Отсюда и соответствующая ошибка.
Если ты действительно хочешь возвращать int, то надо писать что-то вроде: return array[0];
Если тебе надо возвращать массив, то тип возвращаемого значения должен быть int*, о чем и написано в ошибке.
В остальном смотри ответ Александр Ананьев
Рекурсия это вариант итеративной обработки, когда есть много объектов и надо что-то с ними сделать.
Другой вариант итераций - это циклическая обработка.
У вас в функции нет цикла. Так что тут нет итераций, соответственно не возможно сделать и рекурсию.
Возможно стоит озвучить тут всю задачу целиком, а не ваши выводы из нее.
Кстати, чаще всего решают обратную задачу, как из рекурсивной функции сделать циклическую. Т.к. рекурсия требует расхода стека и может привести к его переполнению, если вложенность слишком большая. Обычно рекурсивная функция проще в реализации, но из-за недостатков рекурсии такой вариант, чаще всего, не желателен.
returnZero, Задавайте сюда конкретные вопросы по непонятным темам. Или можете найти более специализированные чаты по С# в телеге или еще где. Для того и существуют подобные ресурсы.
Если книга не заходит, стоит поискать другую. Можете спросить тут рекомендации по учебнику для C#.
2 месяца - слишком маленький срок, чтоб делать далеко идущие выводы.
Именно так, некоторые возможности настройки оборудования зависят от конкретного оборудования и его драйверов, а не от операционной системы. Так что претензии нужно предъявлять разработчикам драйверов для железки, а не к микрософту, в данном случае. Возможно стоит обновить драйвера, но без гарантий, что в новой версии разрабы сделали локализацию.
clickrnd, Буквы в расширении мало что значат. Значит внутреннее содержимое файлов. Там внутри какая-то структура, чтоб корректно создать файл нужно знать какая структура внутри, чтоб ее воспроизвести.
Берешь hex редактор и смотришь отличия твоего файла от работающего.
Кстати, могу порекомендовать хороший редактор: 010 Editor.
Он поддерживает описания файлов (похоже на объявление структур в С/С++). Наложив такой шаблон можно смотреть бинарный файл в структурированном виде. Очень удобно. В интернете можно найти множество готовых шаблонов для этого редактора.
Минус в том, что он платный. Но при желании можно найти таблетку от жадности.
На твой вопрос не возможно ответить без достаточно глубокого погружения в твой код и знания структуры wav файлов.
Я в свое время использовал библиотеку libsndfile для работы с wav.
UnderwaterFish, эээ, запуск любого приложения в общей мировой сети или просто на одном компьютере никак не отличаются друг от друга. Отличается лишь наличием доступа к приложению с наружи, а это от приложения никак не зависит. Это зависит от настроек твоего шлюза в интернет (роутер) и от фаервола на локальном компьютере.
Настраиваешь на роутере проброс порта, добавляешь правило в локальный фаервол на разрешение входящего трафика к порту приложения и все - приложение доступно из интернета. Нужно только выяснить какой порт использует приложение. Это может быть в документации написано или можно с помощью подручных средств. В винде, например, в мониторе ресурсов видно какие приложения какие порты используют. Есть и другие утилиты.
Кстати, в линуксе (и во всех никсах) кодировка консоли обычно не меняется (в современных дистрибутивах повсеместно используется utf8) и исходники по умолчанию пишутся так же в той же системной кодировке, так что линукс программисты обычно не сталкиваются с такой проблемой.
Хотя и там есть возможность менять кодировку консоли.
Alexander, Не важно. Я же написал, что тут еще играет роль кодировка, в которой написаны исходники.
Если исходники написаны в 1251 - то да поможет. Если нет - не поможет.
У некоторых случается такое совпадение, что кодировка исходников и кодировка консоли совпадает и они с такой проблемой не сталкиваются.
Самый простой способ - писать исходники в cp866, тогда вообще никаких вызовов не нужно делать.
В коментариях к вопросу дал ссылку на свой вчерашний ответ по такому же поводу.
Кстати, можно действовать и со стороны консоли. Выясняем в какой кодировке у нас исходники и меняем кодировку консоли командой:
chcp 866 - устанавливает в консоли кодировку 866
chcp 1251
chcp 65001 - utf8
SetConsoleOutputCP(866) - устанавливает кодировку консоли для вывода. Но если исходники написаны в UTF8 или в cp1251, то это не поможет. Есть аналогичная функция, меняющая кодировку ввода.
Суть проблемы в том, что в виндовой консоли может быть несколько кириллических кодировок, а кодировок исходников может быть еще больше и компилятор и стандартная библиотека C++ сами по себе ничего не делает для синхронизации кодировок при вводе/выводе. И если кодировка консоли и кодировка исходников не совпадает - на выходе получаем кракозябры.
Это самый часто задаваемый вопрос у начинающих программистов на плюсах под виндой.
Буквально вчера писал ответ на подобный вопрос: https://qna.habr.com/q/1224418#answer_2256128
Если искал ответы в гугле и не нашел, значит плохо искал или не так формулировал запрос.
Вячеслав Грачунов, Протестируй память, диск, проведи нагрузочный тест проца и видео карты. Если проблема аппаратная, то она на тестах как-то проявится.
Если все нормально, переустанови винду. Переустановка - самый простой вариант привести винду в рабочее состояние.
Все просто. Вы логинетесь в данном случае не к папке, не к диску и даже не к сетевому диску, вы логинетесь на хосте в сети (роутер). И вы можете быть залогиненым только одним пользователем. И это везде так, а не только в винде.
sendmail как и все широко используемые почтовики достаточно безопасен, чтоб его не ломали.
Другое дело, что вы криво можете настроить почтовый сервер (например оставили открытый relay), оставили дыру в безопасности хоста где он работает (другие открытые порты, не безопасное ПО и т.п.), или просто пользователи получают письма с подозрительными ссылками и переходят по ним.
Но это не зависит от безопасности самого почтовика.
sendmail, postfix, exim - широко и активно применяются во всем интернете. Они давно уже избавились от детских болезней. Да, конечно, никто не гарантирует, что там нет дыр, но те что находят - исправляются. Наверняка приведенный список не полон, это просто то с чем я лично имел дело.