Данный файл или каталог отсутствует

Обновлено: 04.07.2024

Детали системы:
Windows 10
Visual Studio Community 2017 v.15.2 (26430.6)
— Установленная разработка рабочего стола с C ++ (Снимок экрана: Список установки )

Шаг 1: Я написал знаменитую программу Hello World на C ++.

Шаг 2: Я нажал на Построить> Построить решение.

Проблема: ‘Stdio.h’: Данный файл или каталог отсутствует. Полная ошибка:

Детали по устранению неполадок / Вещи, которые я пробовал:

  1. Свойства конфигурации> Каталоги VC ++
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);
  2. Снимок экрана: Solution Explorer (файлы в проекте)

Код в stdafx.cpp файл:

Код в stdafx.h файл:

Решение

Возникла та же проблема с переносом проекта с VS2013 на VS2017,
Исправлено: измените «Свойства-> Общие-> Версия Windows SDK» на 10

Другие решения

Столкнулся с проблемой пропавших без вести stdlib.h а также stdio.h (а может и больше) после установки VS2017 Community на новый компьютер и переноса решения с VS2013 на VS2017.

Сейчас мои проекты строятся без проблем.

Обратите внимание, что вам может потребоваться сделать проект стартовым проектом для ретаргетинга.

Есть три способа решить эту проблему.

Переустановите Visual Studio
Это также сработало для меня, потому что я понял, что, возможно, что-то не так с моим Windows SDK. Я использовал Windows 10, но с Windows SDK 8.1. У вас может быть и эта проблема.
шаги: Откройте установщик Visual Studio> щелкните трехстрочную строку меню> Удалить> Перезагрузите компьютер> Откройте установщик Visual Studio> Установите то, что вам нужно, но убедитесь, что вы устанавливаете только последнюю версию Windows SDK 10, а не несколько или 8.1.

У меня была похожая проблема после обновления моего VS2017. Проект построен хорошо; но много «ошибок», когда код был поднят в редакторе. Даже попробовал переустановить VS. Я смог решить эту проблему, установив для параметра «Игнорировать стандартные пути включения» значение «Да». Попытка построить решение с большим количеством ошибок. Вернулся и установил опцию на Нет. После восстановления моя проблема ушла.

Если вы не хотите использовать Windows SDK для Windows 10 (например, вы можете работать над проектом с открытым исходным кодом, решение которого не принимается вами), вы можете решить эту проблему в проекте Windows SDK 8.1 с помощью навигационный Tools -> Get Tools and Features. -> Individual Compontents tab и установка отдельных компонентов «Windows 8.1 SDK» (в составе SDK, библиотек и сред) и «Windows Universal CRT SDK» (в разделе «Компиляторы», средства сборки и среды выполнения):

У меня была такая же проблема при создании VS 2013 Project с помощью Visual Studio 2017 IDE.
Решением было установить правильный «Platformtoolset v120 (Visual Studio 2013)». Для этого должен быть установлен Windows SDK 8.1.
Если вы хотите использовать Platformtoolset v141 (Visual Studio 2017), необходимо установить Windows SDK 10.
Platformtoolset может быть выбран в диалоге свойств проекта: General -> Platformtoolset

526 просмотра

1 ответ

103 Репутация автора


Я пытаюсь использовать графическую библиотеку (SFML) для C ++, и у меня возникли проблемы. Я использую Visual Studio 2017. Я посмотрел много уроков на Youtube и получаю ту же ошибку с каждым, что пытаюсь. Я не могу найти решение, так как люди говорят «папки должны быть вместе», что я уже сделал: Вот ошибки, которые я получаю:

E1696 не может открыть исходный файл "stdafx.h" c: Users George source repos Game Game main.cpp 1

E1696 не может открыть исходный файл "SFML / Graphics.hpp" c: Users George source repos Game Game main.cpp 2

Код, который я запускаю (скопированный, с дополнительным):

Раньше в коде не было stdafx.h или std пространства имен, поэтому мне пришлось добавить их, потому что у меня были другие ошибки. Я был бы очень признателен за любую помощь. Спасибо

Ответы (1)

103 Репутация автора

Разобрался несколько дней назад, но забыл опубликовать, как я это исправил. Я скачал 32-битную версию SFML. В свойствах необходимо убедиться, что в нем написано: «Active (win32)» или что-то в этом роде. У меня был мой на "x64", поэтому он не работал. Надеюсь, что это помогло кому-то еще с той же проблемой 🙂


Я пытаюсь использовать графическую библиотеку (SFML) для C ++, и у меня возникли проблемы. Я использую Visual Studio 2017 Я наблюдал много учебников Youtube, и получить ту же ошибку с каждым я стараюсь. Я не могу найти решение, как люди говорят «папки должны быть вместе» , которые я уже сделал: Вот ошибки я получаю:

E1696 не может открыть исходный файл stdafx.h C: Users George источник Repos Game Game main.cpp 1

E0065 ожидается «;» C: Users George источник Repos Game Game main.cpp 5

E1696 исходный файл не может открыть SFML / Graphics.hpp C: Users George источник Repos Game Game main.cpp 2

Код я бег (скопировано с дополнительным):

Перед тем, код не имеют stdafx.h или патезрасе, так что я должен был добавить их, потому что у меня были другие ошибки. Я бы очень признателен за любую помощь. благодаря

В PHP скриптах, вызывая include() , require() , fopen() или их производные, такие как include_once , require_once или даже move_uploaded_file() , часто появляются ошибки или предупреждения:

Не удалось открыть поток: нет такого файла или каталога.

Как быстро найти первопричину проблемы?

Ответ 1

Есть много причин, по которым можно столкнуться с этой ошибкой, и поэтому я дам контрольный список того, что необходимо проверить в первую очередь для решения этой ситуации.

Предположим, у нас есть следующая строка:

require "/path/to/file"

Контрольный список

1. Проверьте путь к файлу на предмет опечаток

  • проверьте вручную (визуально проверив путь) ;

  • переместите все, что вызывается с помощью require* или include* в переменную, скопируйте ее и попробуйте получить к ней доступ с терминала:

2. Убедитесь, что путь к файлу правильный с точки зрения относительного и абсолютного пути

  • если он начинается с косой черты "/", то это относится не к корню папки вашего веб-сайта (корень документа), а к корню вашего сервер :

    • например, каталог вашего веб-сайта может быть /users/tony/htdocs ;

    • не относительно пути к корню вашего веб-сайта или файла ;

    • или всегда используйте абсолютные пути к файлам .

    1. используйте require __DIR__."/relative/path/from/current/file" , который возвращает каталог текущего файла ;

    2. определите SITE_ROOT константу самостоятельно:

      • в корне каталога вашего веб-сайта создайте файл, например , config.php

      • в config.php напишите :

    • в каждом файле, в котором вы хотите сослаться на корневую папку сайта, включите config.php и затем используйте SITE_ROOT константу везде, где хотите:

    3. Проверьте свои пути включения

    Другой способ включения файлов, ни относительный, ни абсолютный, - это полагаться на путь включения . Это часто бывает с библиотеками или фреймворками, такими как, например, Zend framework.

    Подобное включение будет выглядеть так:

    include "Zend/Mail/Protocol/Imap.php"

    В этом случае вы должны убедиться, что папка, в которой находится «Zend», является частью пути включения.

    Это можно проверить с помощью:

    echo get_include_path();

    Вы можете добавить в него папку с помощью:

    set_include_path(get_include_path().":"."/path/to/new/folder");

    4. Убедитесь, что у вашего сервера есть доступ к этому файлу

    Может случиться так, что у пользователя, запускающего серверный процесс (Apache или PHP), просто нет разрешения на чтение или запись в этот файл.

    Чтобы проверить, под каким пользователем запущен сервер, можно использовать posix_getpwuid :

    $user = posix_getpwuid(posix_geteuid());

    var_dump($user);

    Чтобы узнать права доступа к файлу, введите в терминале следующую команду:

    ls -l <path/to/file>

    5. Проверьте настройки PHP

      • Если установлено, PHP не сможет получить доступ к любому файлу за пределами указанного каталога (даже через символическую ссылку).

      • По умолчанию не устанавливается, и в этом случае ограничений нет.

      • Можно проверить, вызвав phpinfo() или используя ini_get("open_basedir") .

      • Вы можете изменить настройку, отредактировав файл php.ini или файл httpd.conf.

      • Е сли включено, могут быть ограничения. Однако данный режим был удален в PHP 5.4. Если вы все еще используете версию, которая поддерживает безопасный режим, обновитесь до версии PHP, которая это еще поддерживает .

      • О тносится только к включению или открытию файлов через сетевой процесс, такой как http://, но не работает для локальной файловой системы.

      • Э ти опции можно проверить, используя ini_get("allow_url_include") или установи в с помощью ini_set("allow_url_include", "1") .

    Другие случаи

    Если ничего из вышеперечисленного не помогло диагностировать проблему, могут возникнуть следующие особые ситуации:

    1. Включение библиотеки на основе пути включения

    Может случиться так, что вы подключаете библиотеку, например, платформу Zend, используя относительный или абсолютный путь. Например:

    require "/usr/share/php/libzend-framework-php/Zend/Mail/Protocol/Imap.php"

    Но по-прежнему получаете такую же ошибку.

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

    Например, упомянутый ранее файл фреймворка Zend может включать следующее:

    include "Zend/Mail/Protocol/Exception.php"

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

    В таком случае единственное практическое решение - добавить каталог в ваш путь включения.

    2. SELinux

    3. Symfony

    Если вы используете Symfony и получаете эту ошибку при загрузке на сервер, возможно, к э ш приложения не был сброшен, либо потому, что app/cache был загружен, либо этот к э ш не был очищен.

    Для этого надо выполнить следующую консольную команду:

    cache:clear

    4. Внутри Zip-файла символы, отличные от A SC II

    По-видимому, эта ошибка может произойти также при вызове zip->close(), когда некоторые файлы внутри zip имеют в своем имени не-ASCII символы, такие как, например, «é».

    Потенциальное решение - обернуть имя файла, используя utf8_decode(), перед созданием целевого файла.

    Ответ 2

    В дополнение к предыдущему ответу:

    Программное обеспечение для виртуального хостинга

    Права доступа к файлам

    1. Этот пользователь владеет файлом и, возможно, родительским каталогом (особенно родительским каталогом, если вы хотите записывать файлы). В большинстве сред общего хостинга это не будет проблемой, потому что ваш пользователь должен владеть всеми файлами под вашим корневым каталогом.

    2. В Linux хорошей практикой будет использова ние chmod 600 (только владелец может читать и писать) или chmod 644 (владелец может писать, но все могут читать) .

    Ответ 3

    Samba Shares

    Если у вас есть тестовый сервер Linux и вы работаете из клиента Windows, общий ресурс Samba мешает команде chmod . Даже если вы используете:

    chmod -R 777 myfolder

    со стороны Linux вполне возможно, что Unix Group\www-data все еще не будет иметь доступ на запись. Есть рабочее решение : если ваш общий ресурс настроен так, что администраторы Windows сопоставлены с корневым каталогом – в Windows откройте разрешения, отключите наследование для вашей папки с копией, а затем предоставьте полный доступ для www-данных.

    Мы будем очень благодарны

    если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

    Это ошибка, которую я получаю:
    Моя ошибка

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

    Я пытаюсь использовать текущую дату как имя файла, но кажется, что это невозможно, или я делаю что-то неправильно. Раньше я использовал переменную как имя для файла, но это, похоже, не работает.

    Вот что я пробовал:

    Это просто посмотреть, создает ли файл. Как вы можете видеть, я пытался с a+ потому что я читал, что создает файл, если он не существует, и я все равно получаю ту же ошибку.

    2 ответа

    3 Решение mhlester [2014-02-26 22:33:00]

    Проблема заключается в том, как вы используете дату:

    Вы не можете иметь / в имени файла, потому что это каталог. Вы еще не создали каталог. Вместо этого попробуйте использовать дефисы:

    Вы почти наверняка не хотите создавать каталоги в структуре день/месяц/год, поэтому я предполагаю, что не то, что вы намеревались.

    Вы включаете разделители каталогов ( / ) в свое имя файла, и эти каталоги не создаются для вас при попытке открыть файл. Там либо нет 26/ директории или нет 26/02/ каталога в текущем рабочем пути.

    Вам придется либо создавать эти каталоги другими способами, либо если вы не имели в виду, что день и месяц должны быть каталогами, измените ваши косые черты на другой разделительный символ:

    Что делать? Как я могу получить доступ к содержимому zip-файла?

    2 ответа

    Вероятно, что filename.zip либо не является файлом .zip , либо поврежден.

    Откройте терминал . Вы можете получить к нему доступ, набрав «Терминал» в Spotlight .

    Введите команды (ов) в соответствии с приведенными ниже инструкциями в командной строке (три раза щелкните по строке, скопируйте ее и вставьте в приглашение). Замените filename.zip на фактическое имя файла zip .

    Если имя файла содержит пробелы, вам нужно ввести его по-другому, используя символ escape . Например, если файл называется compressed crap.zip , вы должны ввести compressed crap.zip в командной строке.

    Шаг 1:

    Восстановить права доступа к диску. После этого попытайтесь снова открыть ZIP-файл. Если вы хотите, вы можете сделать это из командной строки.

    Шаг 2:

    Используйте файл , чтобы подтвердить, что это на самом деле zip-файл:

    Выход должен быть: Zip archive data, at least v2.0 to extract

    Шаг 3:

    После подтверждения, что это фактически zip-файл, попробуйте разархивировать прямо из командной строки:

    Шаг 4:

    Шаг 3, скорее всего, не удастся. Запустите команду zip , чтобы попытаться восстановить повреждение и сохранить содержимое архива (опять же, замените filename.zip на actualname.zip ):

    В качестве альтернативы, он может не выйти чисто. Если вам представлена ​​

    Is this a single-disk archive? (y/n):

    Нажмите клавишу y . После того, как вы вернетесь в приглашение, снова попытайтесь открыть Repairedversion.zip из папки «Загрузки». Если вы все еще не можете его открыть, прокомментируйте это ниже с предупреждением (-ами), полученным от команды. Если вы достигли этого, однако, вероятно, что файл непоправимо поврежден.

    файл или каталог повреждены и нечитаемы

    Вы сталкивались с проблемой под названием «Файл или каталог поврежден и нечитабелени разочароваться? Не беспокойся Мы покажем вам, как решить эту проблему навсегда и снова начать использовать жесткий диск.

    Что вызывает проблему «Файл или каталог поврежден и не читается»?

    Прежде чем мы рассмотрим исправления, лучше получить четкое представление о причинах этого. Такой подход даст вам лучшее представление о том, с чем вы имеете дело. Кроме того, это поможет вам лучше разобраться в проблеме. Одним словом, вы знаете, что делаете. Итак, ниже приведен список распространенных причин, вызывающих проблему «Файл или каталог повреждены и не читаются».

    • Поврежденные разделы FAT или MFT на вашем жестком диске.
    • Ваш внешний жесткий диск заражен опасным вредоносным ПО, таким как вирус. В результате вредоносная программа может повредить разделы, созданные на жестком диске. Кроме того, такие вредоносные программы могут повредить все или некоторые из сохраненных файлов.
    • Соответствующий внешний жесткий диск имеет физическое повреждение или неисправность.
    • Проблемный внешний жесткий диск не был правильно удален из компьютера. В результате разделы и файлы, хранящиеся на одном жестком диске, могут быть повреждены.
    • Что-то не так (физический дефект, неисправность) с USB-портом компьютера. В результате компьютер не сможет правильно прочитать данные на жестком диске.

    Как лучше всего решить проблему «Файл или каталог поврежден и не читается»?

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

    01. Используйте инструмент CHKDSK, чтобы преодолеть проблему

    Когда вы сталкиваетесь с проблемой «Файл или каталог повреждены и не читаются», не паникуйте. Вместо этого подумайте о том, что есть встроенный инструмент для решения этой проблемы. Этот инструмент называется CHKDSK (Disk Check Utility). С помощью этого инструмента вы сможете увидеть, есть ли на диске некоторые исправимые проблемы.

    Чтобы запустить этот инструмент, вам нужно будет ввести команду CHKDSK. Чтобы ввести эту команду, вы должны просто использовать командную строку. Благодаря этой единственной командной строке вы сможете сканировать соответствующий диск. Более того, это исправит множество проблем, таких как поврежденные сектора, ошибки каталогов, потерянные кластеры и т. Д.

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

    • Прежде всего, вы должны запустить командную строку, используя меню «Пуск» компьютера. Если нет, вы можете легко ввести текст CMD на 'Запуститекоробка и ударил вводить, Убедитесь, что вы запускаете этот процесс в режиме администратора.
    • Когда откроется командная строка, введите текст CHKDSK / f X: в командной строке. Обратите внимание, что буква X должна быть заменена буквой диска потенциально ошибочного диска.
    • После выполнения команды вы увидите, что Windows запускает процесс сканирования диска. Затем, после сканирования, он будет отображать результаты. В результате вы сможете увидеть возможные ошибки.

    Кстати, нажмите здесь для полной Рейд 0 против Рейда 1 сравнение.

    02. Отформатируйте неисправное устройство, не затрагивая существующие данные

    Восстановите файлы с помощью iMyFone AnyRecover

    Фактически, форматирование жесткого диска означает избавление от всех данных, включая ценные файлы. Итак, хитрость здесь заключается в использовании профессионального программного обеспечения для восстановления данных (iMyFone AnyRecover). С помощью такого инструмента вы сможете избежать потери всех файлов перед форматированием. Мы настоятельно рекомендуем использовать iMyFone AnyRecover по понятным причинам. Этот инструмент позволяет без проблем восстанавливать файлы за один сеанс восстановления.

    PS: также вы узнаете, как избавиться от ошибки Защитный раздел GPT.

    Основные особенности, связанные с iMyFone AnyRecover

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

    • Это программное обеспечение способно восстанавливать все типы файлов с помощью пары щелчков мыши. -Он поставляется с исключительно дружественным пользовательским интерфейсом, чтобы предоставить пользователям лучшее удобство и достичь более высокой производительности.
    • AnyRecover работает с более чем 1000 форматами файлов, включая изображения, документы, видео, аудио и т. Д.
    • Это может восстановить потерянные данные с ваших внешних жестких дисков быстрее и проще.
    • Помимо внешних жестких дисков, он поддерживает внутренние жесткие диски, USB-накопители, карты памяти, камеры и т. Д.
    • Это программное обеспечение позволяет вам легко восстанавливать файлы независимо от того, как вы их потеряли. Например, он может восстановить намеренно удаленные файлы и файлы, потерянные из-за сбоя системы. Кроме того, он может восстанавливать файлы, которые повреждены из-за физического дефекта, атаки вредоносных программ или по любой другой причине.

    Как преодолеть проблему «Файл или каталог поврежден и не читается» с помощью этого программного обеспечения.

    Теперь давайте рассмотрим шаги, которые необходимо выполнить для решения этой проблемы.

    Фаза 01:

    • 01. В качестве первого шага, запустите iMyFone AnyRecover на компьютере и выберите режим. В этом случае мы рекомендуем вам выбратьВсесторонний режим восстановления».


    • 02. Теперь, когда выбран режим, вы должны выбрать места, где были потеряны файлы. Например, вы должны определить папки, жесткие диски или съемные диски.


    • 03. Затем, в качестве третьего шага, вы должны выбрать опцию под названием «Все типы файлов.» Это потому, что мы предполагаем, что вы хотите восстановить все файлы с соответствующего диска. После этого вы должны нажать на кнопку под названием «Scan».


    • 04. Теперь вы можете просмотреть файлы и выбрать, что именно вы хотите восстановить. Однако, если вы хотите восстановить все файлы, вам не нужно сильно беспокоиться о предварительном просмотре.

    Восстановите файл или каталог, поврежденный и нечитаемый с помощью iMyFone AnyData

    Фаза 02:

    01. Теперь, когда вы восстановили файлы с жесткого диска, вы можете перейти к форматированию.

    02. На самом деле вам не нужно использовать какой-либо сторонний инструмент для форматирования внешнего жесткого диска. Это можно сделать двумя официальными способами, предоставляемыми самой Windows. Для этого вы можете выбрать Windows Explorer или CMD. Мы настоятельно рекомендуем отформатировать внешний жесткий диск через проводник Windows. Это потому, что это быстрее и удобнее, даже если вы начинающий пользователь.

    03. Ниже приведены инструкции по форматированию внешнего жесткого диска с помощью проводника Windows.

    • Затем нажмите на опцию «Start».

    Заключение о файле или каталоге повреждено и нечитаемо

    Кроме того, если у вас есть запрос на EaseUS безопасно, вот вам полный ответ.

    Родительский контроль, отслеживание и удаленное наблюдение

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