Невозможно открыть c файл c
Обновлено: 20.08.2024
Я создал новый проект на С++ в Visual Studio 2008. Никакой код еще не написан; Изменены только настройки проекта.
Когда я компилирую проект, я получаю следующую фатальную ошибку:
спросил(а) 2020-03-13T16:13:13+03:00 1 год, 8 месяцев назадфатальная ошибка LNK1104: невозможно открыть файл 'C:\Program.obj'
Эта проблема возникает из-за указания зависимости от файла lib с пробелами в его пути. Путь должен быть окружен кавычками для правильного компиляции проекта.
Где я добавил цитаты.
ответил(а) 2020-03-13T16:27:38.818938+03:00 1 год, 8 месяцев назадЭто может произойти, если файл все еще запущен.
ответил(а) 2020-03-13T16:13:13+03:00 1 год, 8 месяцев назад: - 1: ошибка: LNK1104: невозможно открыть файл 'debug\****. exe'
Проблема исчезла после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может стоить того.
Это было на VS 2013 Ultimate, Windows 8.1.
ответил(а) 2020-04-07T21:34:54+03:00 1 год, 7 месяцев назадПроверьте также, что это не включено: Свойства конфигурации → C/С++ → Препроцессор → Препроцессор в файл.
ответил(а) 2020-03-13T16:13:13+03:00 1 год, 8 месяцев назадМоя проблема заключалась в отсутствии расширения .lib , я просто привязывался к mylib , и VS решил искать mylib.obj .
ответил(а) 2020-03-13T16:13:13+03:00 1 год, 8 месяцев назадУ меня была та же проблема. Она вызвана "," в имени папки с дополнительным пулом библиотек. Она была решена путем изменения дополнительного пути к библиотеке.
ответил(а) 2020-03-13T16:13:13+03:00 1 год, 8 месяцев назадВ моем случае речь шла о неверно направленной ссылке. Проект ссылался на вывод другого проекта, но последний не выдал файл, в котором его искал.
ответил(а) 2020-03-23T16:29:14+03:00 1 год, 8 месяцев назадУ меня была такая же ошибка, только с установленным пакетом Nuget (который не является только заголовком), а затем попытался удалить.
Для меня было не так, что я все еще включал заголовок для пакета, который я только что удалил в одном из моих .cpp файлов (довольно глупо, да).
Я даже удалил ссылки на дополнительные библиотеки, связанные с ним, в Project -> Properties -> Linker -> General , но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.
это код, который должен взять имя файла от пользователя для создания
но я проверил, если он открыт, и это не так, что делать?
Решение
Попробуйте использовать это:
Другие решения
То, как вы обрабатываете пользовательский ввод, делает переменную nof неверный путь к файлу на вашей запущенной ОС. Вот почему fstream::is_open() вернуть ложь.
Этот код принимает пользовательский ввод, пока не получит xt , Но в C / C ++ допустимая строка char* или же char[] тип должен заканчиваться \0 персонаж. Так что если вам все еще нравится то, как вы обрабатываете ввод, добавьте \0 до конца nof прежде чем разорвать петли.
Но я предлагаю вам использовать std::string а также getline вместо этого вышеупомянутый способ довольно неловко.
Ответ Мохита говорит вам, как обнаружить сбой std::fstream::open ,
Эта функция обычно использует какой-либо сервис операционной системы для открытия файла, как правило, некоторые открытый системный вызов лайк открытый (2) в Linux (который может потерпеть неудачу по многим причинам).
Ваша программа глючит, потому что ваша nof вероятно, не содержит допустимый путь к файлу. Я бы порекомендовал очистить его с memset(nof, 0, sizeof(nof)) перед чтением и использованием вашего отладчика, например, gdb чтобы найти вашу ошибку (если вы введете имя файла из трех символов или одной из сорока букв, ваша программа не будет работать)
Вы можете спросить свою операционную систему о причине этой ошибки. В Linux вы бы использовали ERRNO (3) (например, через PError (3) ).
Насколько я знаю, стандарт C ++ не определяет, как запросить причину сбоя std::fstream::open (и, вероятно, не требуют отношения между fstream а также errno )
Педантически стандарт C ++ не требует std::fstream использовать файлы операционной системы. Конечно, на практике fstream всегда их использую. Но в принципе у вас может быть реализация C ++ 14 на чем-то без файлов или даже без ОС (но я не могу назвать ни одной).
Понятие файла на практике тесно связано с операционные системы а также файловые системы . Вы можете иметь операционные системы без файлов (в прошлом OS / 400 , PalmOS , GrassHopper и другие академические ОС), даже если это очень необычно сегодня.
И понятие файла является специфическим для ОС: файл на Windows не совпадает с файлом на Юникс или на г / OS .
Стандартные спецификации языков (например, C ++ 11 n3337 , C11 n1570 , Схема R5RS ) написаны на английском языке и они преднамеренно расплывчаты в отношении «файлов» или «файловых потоков» (именно потому, что разные ОС имеют разные понятия о них).
Запуск с правами администратора
При возникновении неполадки с установкой приложения, первое, что нужно сделать – запустить исполняемый файл от имени администратора.
Откройте Проводник сочетанием Win + E и перейдите в папку, в которой расположен файл «.exe».
Щелкните на него правой кнопкой мыши и выберите пункт «Запуск от имени администратора».
Проверьте, возникает ли ошибка при установке.
Запуск средства устранения неполадок с совместимостью
В Проводнике откройте папку с программой, кликните правой кнопкой мыши на исполняемом файле и выберите Свойства.
Откройте вкладку Совместимость. Щелкните на «Запустить средство устранения проблем с совместимостью. На следующем экране выберите «Использовать рекомендуемые параметры».
После завершения попробуйте установить проблемное приложение.
Настройка разрешений на каталог
Если установка производится в каталог, на который в учетной записи пользователя нет разрешений на запись файлов, то также столкнетесь с этой ошибкой.
Перейдите к папке, в которую пытаетесь установить программу, разверните контекстное меню правым кликом и перейдите в Свойства.
На вкладке Безопасность кликните на «Изменить».
Выберите группу Пользователи и отметьте флажком запись в столбце Разрешить. Сохраните изменения и перезагрузите ПК.
Настройка дополнительных параметров безопасности
Если простого разрешения недостаточно, его можно расширить с помощью дополнительных настроек.
Снова щелкните правой кнопкой на папке, в которую пытаетесь инсталлировать программу и откройте Свойства.
На вкладке Безопасность кликните на кнопку Дополнительно.
В окне дополнительных параметров безопасности нажмите на «Добавить».
Нажмите на ссылке «Выбрать субъект».
В поле ввода имен выбираемых объектов наберите «Все», затем уберитесь в правильности ввода нажатием на «Проверить имена» и сохраните на «ОК».
Отметьте флажком поле полного контроля в разделе Общие разрешения и нажмите на «ОК».
Перезагрузите компьютер и попробуйте установить программу.
Отключение контроля учетных записей пользователей
Несмотря на то, что функция предназначена для защиты ПК от несанкционированного использования, иногда может причинить больше вреда, чем пользы, и также может быть причастна к сбою при установке некоторых программ. Поэтому временно ее отключите.
Откройте строку системного поиска, введите «учетные записи пользователей» и щелкните на найденный результат.
Щелкните на Изменение параметров контроля учетных записей.
Переместите ползунок в нижнюю позицию «Никогда не уведомлять». Сохраните изменения, и перезагрузите компьютер. Посмотрите, возникает ли сбой.
Если предыдущие решения не сработали, скорее всего, проблемы с учетной записью. Создайте новый профиль и попытайтесь из него установить приложение.
Как мы уже упоминали ранее, соответствующая ошибка может возникнуть, особенно при перемещении больших файлов между дисками. Это может произойти либо между двумя внутренними жесткими дисками, либо при переходе с внутреннего диска на внешний диск. Например. При перемещении файла с жесткого диска на флэш-диск или внешний жесткий диск. Хотя такая же ошибка может возникать и при перемещении довольно маленьких файлов, экземпляры встречаются очень редко. Таким образом, вы должны ожидать эту ошибку, особенно при перемещении больших файлов.
Интерфейс этого программного обеспечения очень удобен для любого пользователя, поэтому весь процесс не займет так много времени. Имейте это в виду, когда переходите к другим исправлениям, упомянутым в этой статье.
1. Не удается прочитать из исходного файла или ошибки диска из-за несоответствия файловых систем
Вы всегда должны помнить, что эти типы файлов полностью отличаются друг от друга. Они имеют разные характеристики, что делает эти файловые системы уникальными. Если у вас есть диск, отформатированный в формате FAT32, он не может вместить файлы размером более 4 ГБ. С учетом сказанного, если файл, который вы перемещаете на диск FAT32, имеет значение, близкое к 4 ГБ, могут возникнуть ошибки. Это означает, что проблема может возникнуть, даже если файл немного легче, чем отметка 4 ГБ. Допустим, у вас есть видеофайл объемом 3.85 ГБ, и вы пытаетесь переместить его на диск FAT32. Это идеальная ситуация для возникновения дисковых ошибок.
Что ж, если вы ищете способ решить эту проблему, ниже приведены шаги, которые необходимо выполнить.
- Прежде всего, вы должны выбрать жесткий диск, на котором находится исходный файл.
- Щелкните правой кнопкой мыши на жестком диске и перейдите в свойства.
- Проверьте информацию и определите файловую систему.
- Повторите тот же процесс с диском, на который вы собираетесь скопировать файл.
- Если NTFS является файловой системой на обоих дисках, вам придется рассмотреть следующее исправление. Однако, если файловая система FAT32 на одном диске, вам следует продолжить чтение этого раздела.
Как упоминалось ранее, невозможно скопировать более тяжелые файлы на диски, отформатированные в формате FAT32. Однако мы заметили, что некоторые люди говорят, что им удалось сделать это с помощью разделителя файлов. Они говорят, что могут разбивать большие файлы на несколько небольших частей, а затем передавать эти части. Однако главная проблема здесь в том, что иногда Windows не распознает файлы, разделенные на части. Вместо этого Windows может распознать файл как поврежденный и не сможет его открыть.
Так что, по сути, это не стопроцентно успешный, гарантированный метод. Но вы можете попробовать разные разделители файлов и посмотреть, какой из них работает. У некоторых пользователей сработали некоторые разветвители. Для этого вам следует выполнить поиск в Google по ключевому слову «File Splitter». Вы получите множество вариантов для рассмотрения. Перед установкой разделителя файлов рекомендуем прочитать отзывы, оставленные предыдущими пользователями.
Вы даже можете использовать бесплатные сплиттеры, которые могут сделать достойную работу. Независимо от того, какой инструмент вы используете, мы настоятельно рекомендуем установить на компьютер антивирусную защиту. Некоторые из случайных инструментов, которые вы устанавливаете, могут содержать вирусы, и защита в любом случае является разумным подходом.
2. Не удается прочитать из исходного файла или диска из-за плохих секторов
Вы должны знать, что сектор является назначенным сегментом на жестком диске, где хранятся данные. Когда вы форматируете жесткий диск, процесс разделит его на большое количество отдельных частей. Эти фрагменты (сегменты) можно использовать для хранения независимых фрагментов данных. Кроме того, эти сегменты могут совместно работать для хранения больших файлов. Это означает, что для хранения одного большого файла требуется несколько сегментов.
Термин «плохие сектора» относится к ошибке в вашей ОС. Данные, относящиеся к большому файлу, который вы пытаетесь переместить, могут присутствовать в нескольких сегментах. И, если ОС не может прочитать данные в одном или нескольких из этих сегментов, их нельзя переместить. В основном это связано с ошибками программного обеспечения (ОС). Но в очень редких случаях такие случаи могут возникать и из-за физических дефектов.
Если вам необходимо убедиться, что проблема вызвана неисправными секторами, вы можете проверить это.
- Прежде всего, выберите жесткий диск, на котором сохранен оригинальный файл.
- Теперь щелкните правой кнопкой мыши на том же диске и перейдите в Свойства.
- Перейдите на вкладку Инструменты под этой опцией.
- Затем вы должны поставить галочку напротив «Проверка ошибок».
- Теперь убедитесь, что процесс завершен.
- Вы должны сделать то же самое с целевым диском.
Чтобы запустить проверку диска, вы даже можете использовать командную строку.
3. Не удается прочитать из исходного файла или с диска из-за проблем с правами доступа к файлу
Хорошей новостью является то, что эту проблему можно решить очень легко.
- Щелкните правой кнопкой мыши файл, который вы собираетесь переместить на новый диск.
- Затем выберите опцию Свойства.
- Выберите вкладку «Безопасность» и перейдите к опции «Изменить».
- Выберите кнопку под названием Добавить.
- Введите имя пользователя компьютера в поле, которое находится внизу.
- Также выберите опцию Проверить имена.
- Теперь вы должны выбрать ОК.
- Выберите имя пользователя, которое можно найти в верхней части окна. Установите флажок рядом с полным контролем.
- Выберите Применить и нажмите ОК.
Совет от профессионала: восстановите файл с помощью EaseUS Data Recovery Wizard
Особенности EaseUS Data Recovery Wizard
- Он может восстановить данные, которые полностью потеряны из-за форматирования, удаления или даже из-за сбоя жесткого диска.
- Он может восстанавливать файлы различных типов, начиная от тяжелых видеофайлов до простых документов.
- EaseUS Data Recovery может восстанавливать (восстанавливать) файлы с любых носителей (USB, HDD, карт памяти, камер, телефонов и т. Д.).
Мы надеемся, что описанные выше методы помогут вам решить "Не могу прочитать из исходного файла или диска" ошибка.
Иногда вы можете столкнуться с ошибками при открытии некоторых файлов, таких как «The file». .docx "не удается открыть из-за проблемы с содержимым. Файл поврежден и не может быть открыт". Эта ошибка означает, что в файле есть нечитаемое содержимое, поэтому файл нельзя открыть.
1. Что такое испорченный файл?
Как следует из названия, поврежденные файлы - это компьютерные файлы, которые внезапно перестают работать или становятся непригодными для использования.
Фактически, каждый файл в вашей системе имеет определенную структуру и содержание. Таким образом, если нужная информация находится в правой части файлов, она будет работать хорошо. Но если в файл записана неверная информация или в неправильном месте записана правильная информация, данные будут искажены и зашифрованы, что приведет к повреждению файла.
2. Причины испорченного файла
Независимо от того, что не так, есть причина для этого. Смотрите ниже и узнайте причины поврежденного файла.
- Ваши файлы повреждены при сохранении. Например, ваш компьютер теряет питание или падает при сохранении файлов, файлы могут быть повреждены.
- Плохие сектора на жестком диске или других устройствах хранения.
- Вирус и вредоносное ПО на жестком диске или других устройствах хранения.
- Неожиданное завершение работы или плохое обновление на вашем компьютере
3. Как открыть и восстановить поврежденные файлы
Метод 1: изменить формат файла
Иногда это может помочь изменить формат файла. Возможно, файл не удастся открыть в исходной форме, но вы, по крайней мере, должны иметь доступ к содержимому файла. Например, вы можете конвертировать документы Microsoft Word в формат PDF или изображения из формата PNG в JPG.
Метод 2: использовать другую программу
Один формат файла может быть открыт многими программами, как встроенными, так и сторонними. Кроме того, каждая программа имеет собственный алгоритм и требования для открытия файла. Ваша текущая программа не может открыть файл, но альтернативная программа может открыть его. Например, документ Word также можно открыть с помощью альтернативных программ, таких как WPS и даже Google Docs.
Метод 3: использовать опцию открытия и восстановления
Возможно, не все знают, что у офисного программного обеспечения Microsoft есть полезная функция, когда мы хотим открыть новый документ. Функция открытия и восстановления может помочь нам восстановить поврежденные файлы при открытии
Поэтому, когда мы открываем поврежденный файл, мы можем использовать функцию открытия и восстановления, когда открываем его.
Использовать эту функцию очень просто, просто нужно выбрать опцию раскрывающегося списка при открытии файла. Ниже я открою испорченный файл Excel в качестве примера, чтобы показать вам, как использовать эту функцию.
Шаг 1 Откройте Microsoft Excel, затем щелкните файл и выберите «Открыть».
Шаг 2 В открывшемся окне выберите файл, который хотите открыть.
Шаг 3 Нажмите на кнопку Открыть в правом нижнем углу окна, и появится раскрывающееся окно. Выберите опцию открытия и восстановления в раскрывающемся списке.
4. Как восстановить поврежденные файлы
Чтобы восстановить удаленный или потерянный поврежденный файл, FoneLab Data Retriever лучший выбор
Причины, по которым мы выбираем FoneLab
- Восстановить все типы данных, такие как документ, e-mail, аудио, видео, И т.д.
- Очень совместим с вашим компьютер, карты памяти, Флэш-накопитель, цифровой фотоаппарат, жесткий диски другие съемные диски.
- Применить ко всем ситуациям потери данных, таким как вирусная атака, неожиданно вылетает, образование, удаление и т.д.
- Scan, search и предварительный просмотр любой тип данных и жесткий диск с подробной информацией.
- Гарантия безопасности данных, Когда вы восстанавливаете потерянные данные, он не сохраняет эти данные на своем сервере.
- Легко использовать, С помощью нескольких щелчков мыши вы можете легко восстановить потерянные данные.
- Просто нажмите на ссылку ниже, вы можете бесплатно загрузить это программное обеспечение и получить бесплатную пробную версию 30.
FoneLab Data Retriever - восстанавливайте потерянные / удаленные данные с компьютера, жесткого диска, флэш-накопителя, карты памяти, цифровой камеры и многого другого.
- Восстановление фотографий, видео, документов и других данных с легкостью.
- Предварительный просмотр данных перед восстановлением.
Шаг 2 В главном интерфейсе выберите типы файлов, которые вы хотите восстановить, и жесткий диск, на котором хранятся удаленные поврежденные файлы. Затем нажмите Scan Кнопка, чтобы начать быстрое сканирование на выбранном диске.
Шаг 3 Просмотрите файлы, отображаемые в окне, и найдите файлы, которые вы собираетесь восстановить. Отметьте файлы, которые вы хотите получить, а затем нажмите Recover Кнопка, чтобы сохранить выбранные файлы на ваш компьютер.
- Если быстрое сканирование не может дать желаемых результатов, вы можете нажать Deep Scan, чтобы повторить попытку. Глубокий анализ требуется больше времени для завершения всего процесса, но это приносит больше результатов.
- Вы также можете использовать Фильтр функция, чтобы быстро найти нужные файлы.
Заключение
Если у вас есть предложения или комментарии по поводу восстановления поврежденного файла, сообщите нам об этом в комментариях ниже.
FoneLab Data Retriever - восстанавливайте потерянные / удаленные данные с компьютера, жесткого диска, флэш-накопителя, карты памяти, цифровой камеры и многого другого.
Читайте также: