Не удается открыть файл c

Обновлено: 07.07.2024

Иногда выскакивает такая магическая ошибка и очень мешает работать.

Хм. Самое очевидное, приложение все еще может работать на момент пересборки.

me, да нет, не работает оно..

Laynos
> да нет, не работает оно..

Какой то процесс остался висеть.

Тут обычно два варианта - либо он сам отвалится через несколько секунд/минут.
Либо открывайте планировщик задач и грохайте вручную.

Kartonagnick
> Какой то процесс остался висеть.
>
> Тут обычно два варианта - либо он сам отвалится через несколько секунд/минут.
> Либо открывайте планировщик задач и грохайте вручную.
А можно как-то VS заставить автоматически его грохать?
Просто очень неудобно работать.

Laynos
Если он остается висеть после закрывания окна, скорее всего это твой многопоточный говнокод виноват.

-Eugene-
о да. Он такой, мой код. Каждый человек, увидевший его, быстро убегает со слезами и годами не выходит из дому. Бойтесь мой говнокод - он нелогичен, поэтому и страшен.

Laynos
Так я угадал, что ты пытаешься что-то делать с потоками?
Мне думается, ты забываешь корректно убить другие потоки. Или корректно завершить 3rdparty-код, который умеет в многопотчность.

-Eugene-
как вариант, он мог просто прибить окно, а mainLoop продолжает крутить )

-Eugene-
ага.
MaxImuS
-Eugene-
скорее всего вы правы. За собой надобно почистить ресурсы и удалить потоки

Хотя у меня такое было даже в одном главном потоке. Когда запускал пример SFML.

MaxImuS
Мне помнится он тут недавно о потоках темы создавал.
А теперь у него характерная для незавершенных потоков проблема.
Хмм, я думаю, где-то здесь есть связь.

-Eugene-
проблема людей, не поняв как работает апп в один, хотя бы, поток, кидаются в многопоточность, так как кто-то сказал, что это круто

Laynos
открой диспетчер задачь и просто посмотри в него, после того, как закрываешь приложение остается оно висеть в процессах или нет

>А можно как-то VS заставить автоматически его грохать?
Можно на prebuild шаг повесить утилитку, которая будет убивать нужный процесс.

ilusha_nil
я думаю, нестоит издеваться над собой, а просто понимать то, что пишешь в коде

На этом уроке мы рассмотрим наиболее частые проблемы, с которыми сталкиваются новички при написании программ на языке C++.

Проблема №1

Как использовать кириллицу в программах C++?

Ответ №1

Чтобы выводить кириллицу в языке C++ нужно подключить заголовочный файл <Windows.h>:

И прописать следующие две строки в функции main():

В качестве альтернативного варианта можно использовать следующую строку в функции main():

Проблема №2

При выполнении программы появляется черное консольное окно, а затем сразу пропадает.

Ответ №2

Некоторые компиляторы (например, Bloodshed’s Dev C++) автоматически не задерживают консольное окно после того, как программа завершила свое выполнение. Если проблема в компиляторе, то следующие два шага решат эту проблему:

Шаг №1: Добавьте следующую строку кода в верхнюю часть вашей программы:

Шаг №2: Добавьте следующий код в конец функции main() (прямо перед оператором return):

Таким образом, программа будет ожидать нажатия клавиши, чтобы закрыть консольное окно. Вы получите дополнительное время, чтобы хорошенько всё рассмотреть/изучить. После нажатия любой клавиши, консольное окно закроется.

Другие решения, такие как system("pause"); , могут работать только на определенных операционных системах, поэтому вариант, приведенный выше, предпочтительнее.

Примечание: Visual Studio не задерживает консольное окно, если выполнение запущено с отладкой ( "Отладка" > "Начать отладку" или F5 ). Если вы хотите, чтобы была пауза — воспользуйтесь решением выше или запустите программу без отладки ( "Отладка" > "Запуск без отладки" или Ctrl+F5 ).

Проблема №3

Ответ №3

Во-первых, убедитесь, что у вас присутствует следующая строка кода в верхней части вашей программы:

Во-вторых, убедитесь, что cin , cout или endl имеют префикс std:: , например:

Проблема №4

Ответ №4

Убедитесь, что вы не перепутали букву l (нижний регистр L ) в endl с цифрой 1 . В endl все символы являются буквами. Также легко можно перепутать заглавную букву О с цифрой 0 (ноль).

Проблема №5

Моя программа компилируется, но работает не так, как нужно. Что мне делать?

Ответ №5

Выполните отладку программы. Детально об этом читайте на уроке №26 и на уроке №27.

Проблема №6

Как включить нумерацию строк в Visual Studio?

Ответ №6

Перейдите в меню "Средства" > "Параметры" :


Затем откройте вкладку "Текстовый редактор" > "Все языки" > "Общие" и поставьте галочку возле "Номера строк" , затем нажмите "ОК" :



Проблема №7

Ответ №7

Это означает, что ваш компилятор не может найти главную функцию main() . Все программы должны содержать эту функцию.

Здесь есть несколько пунктов, которые нужно проверить:

Есть ли в вашей программе функция main() ?

Слово main написано правильно?

Подключен ли файл, который содержит функцию main() , к вашему проекту? (если нет, то переместите функцию main() в файл, который является частью вашего проекта, либо добавьте этот файл в ваш проект)

Подключен ли файл, содержащий функцию main() , к компиляции?

Проблема №8

Ответ №8

Это не ошибка, а предупреждение. На работоспособность вашей программы оно не повлияет. Тем не менее, в Visual Studio вы можете решить всё следующим образом: перейдите в меню "Отладка" > "Параметры" > "Отладка" > "Символы" и поставьте галочку возле "Серверы символов (Майкрософт)" , затем нажмите "ОК" .

Проблема №9

Я использую Code::Blocks или G++, но функционал C++11/C++14 не работает.

Ответ №9

В Code::Blocks перейдите в "Project" > "Build options" > "Compiler settings" > "Compiler flags" и поставьте галочку возле пункта "Have g++ follow C++14 ISO C++ language standard" . Смотрите урок №4 — там есть скриншоты, как это сделать.

При компиляции в g++, добавьте следующий код в командную строку:

Проблема №10

Я запустил программу, появилось консольное окно, но ничего не выводится.

Ответ №10

Ваш антивирус может блокировать выполнение вашей программы. Попробуйте отключить его на время и запустите программу еще раз.

У меня есть другая проблема, с которой я не могу разобраться. Как и где я могу получить ответ?

По мере прохождения данных уроков, у вас, несомненно, появятся вопросы или вы столкнетесь с проблемами. Что делать?

Но будьте внимательны и старайтесь максимально конкретизировать свою проблему, укажите, какую операционную систему и IDE вы используете, а также то, что вы пробовали сделать самостоятельно для решения своей проблемы.

Я создал новый проект C++ в Visual Studio 2008. Код еще не написан, изменены только настройки проекта.

когда я компилирую проект, я получаю следующую фатальную ошибку:

фатальная ошибка LNK1104: не удается открыть файл 'C:Program.obj'

эта конкретная проблема вызвана указанием зависимости для файла lib, который имел пробелы в своем пути. Путь должен быть окружен кавычками для правильной компиляции проекта.

на Свойства Конфигурации -> Компоновщик -> Ввод вкладка свойств проекта, есть Дополнительные Зависимости собственность. Эта проблема была исправлена путем изменения этого свойства:

C:\Program файлы\программное обеспечение sdk\lib \ библиотека.Либ

" C:\Program файлы\программное обеспечение sdk\lib \ библиотека.lib"

где я добавил кавычки.

Это может произойти, если файл все еще работает.

:-1: ошибка: LNK1104: не удается открыть файл ' debug\****.exe'

проблема ушла для меня после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может быть стоит попробовать.

Это было на VS 2013 Ultimate, Windows 8.1.

проверьте также, что вы не включили это: свойства конфигурации -> C / C++ - > препроцессор -> предварительная обработка файла.

У меня было то же самое problem.It вызвано символом", " в имени папки дополнительной библиотеки path.It решается путем изменения дополнительного пути к библиотеке.

моя проблема была отсутствует .lib расширение, я просто связывал против mylib и ВС решил искать mylib.obj .

в моем случае это был вопрос неправильной ссылки. Проект ссылался на вывод другого проекта, но последний не выводил файл, где первый искал.

для сборки проекта (название проекта -> построение зависимостей -> сборки настройки -> компилятор MASM (некоторые)), задание Создать Предварительно Обработанный Список Источников до True вызвал проблему и для меня, очистив настройку, исправил ее. VS2013 здесь.

Я отвечаю, потому что я не вижу это конкретное решение, перечисленное кем-либо еще.

по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезагрузил компьютер.

Что делать если файл Microsoft Excel с данными перестал открываться? Можно ли вернуть ценные данные, ставшие недоступными?


Если вдруг вам не удаётся открыть рабочий файл с данными Excel, то какова вероятность успешного восстановления этих данных и что для этого надо сделать? К сожалению, это распространённая ошибка Microsoft Excel. У проблемы есть несколько вариантов решения. Только перепробовав все варианты можно сказать, возможно ли восстановить повреждённый Excel-файл.

Способы восстановления повреждённого Excel-файла:

  1. Использование встроенной функции Microsoft Excel.
  2. Открытие файла с помощью OpenOffice.
  3. Использование онлайн-сервиса.
  4. Восстановление с помощью сторонних утилит.

1. Встроенная функция Microsoft Excel

В последних версиях Microsoft Excel добавлена возможность восстановления файла. Ранее эта функция или отсутствовала, или была откровенно слабо работоспособной при использовании с реальными файлами. Сейчас эта функция помогает в 10–20 % инцидентов с повреждением файлов. Для этого достаточно произвести несколько простых действий:

  1. Выбрать пункт меню «Файл».
  2. Выбрать пункт «Открыть».
  3. Выбрать повреждённый файл на диске.
  4. Щелкнуть на стрелку рядом с кнопкой «Открыть» в правом нижнем углу.
  5. Выбрать пункт «Открыть и восстановить» в выпадающем подменю.


2. Открытие файла с помощью OpenOffice

Обращаем ваше внимание на то, что файл, восстанавливаемый с помощью OpenOffice, должен иметь расширение XLSX — это версия для файлов Excel 2007 и выше.

3. Использование онлайн-сервиса

Если варианты 1 и 2 не помогают восстановить файл, то необходимы специальные сервисы или программы, разработанные специально для восстановления данных из повреждённых файлов Excel.


Просто загрузите файл на сервис и дождитесь результата. Статистка от разработчиков сервиса утверждает, что в 40 % случаев данные из повреждённого Excel-файла удаётся восстановить в том или ином виде.

Сервис удобен тем, что работает на всех операционных системах (Windows, MacOS, iOS, Android и прочие) и на всех устройствах (компьютер, планшет, телефон и прочие).

4. Восстановление с помощью сторонних утилит

Если у вас много повреждённых Excel-файлов или вы не можете передавать эти файлы сторонним лицам из-за их конфиденциальности, то используйте специальные утилиты от сторонних разработчиков (не Microsoft).

Утилита развивается и распространяется с начала 2000-х годов, имеет многоязычный интерфейс (включая русский), восстанавливает все типы Excel-файлов всех версий, начиная с экзотического сейчас Excel 97.


Внимание: утилита работает только на компьютерах с ОС Windows.

Полезные советы для пользователей Microsoft Excel

При работе с Microsoft Excel включите функцию автосохранения. Это исключит случаи, когда сбой в работе компьютера приводит к потере нескольких часов работы:

Читайте также: