Гаджи Кочкарев, Займитесь лучше обрезанием прав пользователей - это гораздо эффективней, чем придумывать подобные схемы восстановления.
И, кстати, почему не рассматриваете точки восстановления как вариант?
D0ct0r_Murder, Как вариант, возможно, в свойствах проекта не верно выставлен параметр General->"Platform toolset" - если там выставлена версия toolset отличная от версии установленной в VS, то будет как раз примерно такой эффект как у вас (т.е. не будут находится файлы стандартной библиотеки). Нужно просто указать в этом параметре существующий toolset. Или установить требуемый toolset, но это, имхо, не нужно.
При сборке нескольких библиотек с помощью VS встречал подобную ситуацию.
freshik312, Проще всего завести нового пользователя и работать из под него. Все данные перетащите в новый профиль, а старый удалите.
Можно создать новый профиль для старого пользователя, если он дорог как память. Это потребует дополнительных телодвижений.
Можно попытаться восстановить профиль, но обычно на это уходит много времени и в итоге заканчивается предыдущими вариантами.
Наверное вы что-то делает, что они пропадают.
Они что, по вашему, сами умеют пропадать?
Возможно вы регулярно откатываетесь на точку восстановления, ...
Рич Пиана, Потому что порог вхождения низкий, может писать практически любой после 1-3 месяцев обучения.
Но останутся люди, которые будут писать сами JavaScript и Python и многие другие вещи.
Так что, нет, все не заменит. Всегда найдутся места, где вышеперечисленные языки не применимы, например контроллеры в атомных реакторах или в боеголовках :) и т.п.
Пользуюсь msys2 - это bash оболочка для mingw и собираю все из под нее, там никогда таких проблем не возникает. Кроме того там есть пакетный менеджер, можно добавлять необходимые для сборки библиотеки, а так же обновлять все окружение.
У вас же, скорее всего не хватает каких-либо переменных окружения, типа MINGW_HOME
Добавлю, что в этом вопросе важно соотнести кодировку в файле исходного кода и кодировку консоли, если они не совпадают, то нужно перекодировать. Компилятор сам ничего не перекодирует. В винде есть встроенные функции для перекодирования, особо ничего придумывать не надо.
Менять кодировку консоли, как предлагает DarthWazer, имхо, дурной тон. Нужно перекодировать ваш выводимый текст в кодировку консоли.
Для облегчения процесса, рекомендую сохранять код в UTF-8, для выводимых строк везде использовать wchar_t.
В прошлый раз, когда обсуждался этот вопрос тут, запостил сюда свою функцию вывода, которая перекодирует текст в кодировку консоли и выводит его. Правда функция на Си, а не на плюсах.
Мария, Встроенных типов больше нет. Если нужно больше то придется использовать какие-либо библиотеки для работы с большими числами.
int64_t - это long long int
Мария, Переведите расчет факториала на int64_t - увеличите диапазон, но, конечно всему есть предел. Так что надо опытным путем установить на каком n он наступит и ввести соответствующее ограничение.
Такая же фигня была, после двух дней разнообразных попыток установки плюнул и переустановил винду (сразу новую версию) - это вышло быстрее чем разбираться с ошибками.
cehka, Изменить имя профиля можно (если вы уже переименовали своего пользователя по английски): винда хранит настройки пути к профилю пользователя в реестре: HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfilesList в этой ветке есть разделы названные по SIDам пользователей. Найдете раздел для своего пользователя (по параметру ProfileImagePath внутри раздела) и удалите его (или переименуйте или сохраните в файл, а потом удалите). После этого перезагрузитесь. Когда винда не увидит настройки профиля, она будет считать что это новый пользователь и создаст новый профиль. Название профиля будет содержать уже новое имя пользователя. Вам останется только скопировать содержимое старого профиля в новый, заодно избавитесь от накопленного в профиле хлама.
Тупо переименовать каталог не получится, т.к. вы сами сидите в нем. Кроме того виндовый Медиа центр любит держать файлы все время открытыми даже если вы не пользуетесь им в данный момент (на сколько я понимаю открывает их служба раздающая медиа контент по сети, если активирована домашняя группа или даже если не активирована).
PS: Вообще винда нормально работает с русскими каталогами уже давно. А вот разнообразные приложения могут плохо понимать не английские имена файлов/каталогов до сих пор. Но это не проблема винды. Просто разрабам хорошо бы быть более внимательными в этом отношении. Часто этим страдает американский софт.
Кстати в тексте ошибки каталог с русским именем отображается нормально, это значит, что и питон вполне справляется с этой проблемой. Скорее всего проблема именно в кривом модуле.
contritio, На п.3 жмете изменить, там кнопка Дополнительно -> Поиск, в списке выбираете или себя или группу Администраторы (если ваш пользователь в этой группе) (у меня английская винда, поэтому названия кнопок могу и наврать). Дальше везде Ок. Нужно на всех окнах нажать Ок, подтвердить все вопросы, затем заново открыть свойства (в этом случае свойства откроются уже с примененным новым владельцем), добавить себе прав. После этого уже можно будет удалить папку.
PS: На самом деле такие потерянные папки случаются достаточно регулярно в винде и лечатся именно таким образом.
Часто подобные папки появляются после обновлений винды, но тогда у них владельцем является TrustedUser.
Подобные папки/файлы (с неизвестным владельцем) могут появлятся, например, если вы вставили в систему диск с другого компа, или если вы удалили пользователя в своей винде, а этот пользователь был владельцем папки/файла, или при сбое в файловой системе.
Возможно вам стоит проверить файловую систему диска - могли нарушиться записи безопасности для файлов. Это можно сделать в свойствах диска Сервис -> Проверка диска.
Если массив получен чтением из wav, то нет в нем находятся амплитуды сигнала с микрофона.
Герцы появятся только после ДПФ.
И еще нюанс.
У вас частота дискретизации 44100, если делать ДПФ на массиве размерностью меньше частоты дискретизации, то интерпретация результат немного меняется. Получается что в элементе массива результата ДПФ будет не 1 Гц, а 44100/len Гц (где len - длина массива на котором делался ДПФ).
Ну и соответственно индекс для 440 Гц будет другим.
Поэтому, возможно, проще делать ДПФ кусками по 1 сек.
Zvercheg, Видимо каждый элемент массива занимает 1 байт. Для беззнакового значения длиной 1 байт 255 - максимально возможное значение. Это значит, что у вас 8 битное АЦП.
Вообще это мало практически для всего. Для нормального звука и егообработки нужно хотя бы 2 байта, т.е. АЦП на 16 бит.
Если вы писали звук просто со звуковой карты компа, то я думаю, это можно отрегулировать настройками вашей библиотеки NAudio.
И еще. В результате ДПФ будут комплексные числа. Чтобы посчитать амплитуду нужно найти модуль комплексного числа: sqrt(Re(x)^2 + Im(x)^2)
Во второй половине массива содержится сопряжение первой половины (это свойство ДПФ). Обычно вторую половину отбрасывают, т.к. ее можно получить из первой (если понадобится сделать обратный ДПФ).
Дмитрий Королев, Ну и кроме всего прочего, а у вас указывает на константу "1001.01\0". Константа может находится в памяти только для чтения и ее именение может вызывать исключение.
Как я писал в прошлом посте вам нужно применять strcpy для копирования константы в буфер и потом работать с этим буфером.