C выдает ошибку не может открыть c файл

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

Иногда в таких случаях помогает способ «переписать всё заново».

Я могу предложить переписать с использованием stream, получится довольно просто. (Просто я вижу, stream для ввода — вывода с консоли Вы пользуетесь)

Конечно, это имеет смысл делать, только если у Вас нет цели использовать именно функцию open()

Через stream можно так:

#include <iostream>
#include <fstream>

using namespace std;

...

ifstream fin("myFile.txt");

int a;
fin >> a;

это если из файла нужно читать

Ну, или если в него собираетесь писать:

#include <iostream>
#include <fstream>

using namespace std;

...

ofstream fout("myFile.txt");

int a;
...
fout << a << endl;

0 / 0 / 0

Регистрация: 22.05.2020

Сообщений: 9

1

08.09.2020, 23:03. Показов 4889. Ответов 2


Студворк — интернет-сервис помощи студентам

Программа работает раз в 3-5 запусков.

Пробовал:
1)Включить(был уже включен) Application Experience
2)Освободить место на диске (было свободно 15 гб, на всякий сделал побольше)
3)Поменять название проекта(создал заново, скопировав код, было название на русском с пробелом)
4)Отключить антивирус

Ничего не помогло.

Код думаю нет смысла скидывать, так как ошибка скорее всего не из за этого, плюс проект состоит из трех форм Windows



0



432 / 310 / 125

Регистрация: 18.07.2017

Сообщений: 1,410

09.09.2020, 09:59

2

Сыщик из тебя не очень.
ошибка LNK1104

Цитата
Сообщение от SirJShostakiv
Посмотреть сообщение

2)Освободить место на диске (было свободно 15 гб, на всякий сделал побольше)

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

Цитата
Сообщение от SirJShostakiv
Посмотреть сообщение

4)Отключить антивирус

Это нужно сделать до компиляции. Или поступить хитрее и поставить линукс.



0



6577 / 4562 / 1843

Регистрация: 07.05.2019

Сообщений: 13,726

09.09.2020, 11:01

3

Лучший ответ Сообщение было отмечено SirJShostakiv как решение

Решение

Цитата
Сообщение от SirJShostakiv
Посмотреть сообщение

Программа работает раз в 3-5 запусков.

Возможно, она у тебя просто не завершается.
Поищи TaskManager процесс Users.GuessTheNumber.exe и убей его.



0



  • Remove From My Forums
  • Вопрос

  • Недавно столкнулся с проблемой в Visual Studio : при попытке компиляции программы в конфигурации debug программа завершается с ошибкой «Невозможно найти указанный файл <путь>». До очистки решения
    программа работала верно, .cpp файл в проект включен, все зависимости в свойствах проекта выставлены, все необходимые файлы в папку debug перенесены. Проверял, не запускает с той же ошибкой даже программу первого урока kuchka-pc
    (http://kychka-pc.ru/sfml/urok-1-podklyuchenie-biblioteki-k-srede-razrabotki-visual-studio-2013.html). Подскажите, в чём может быть проблема? Прикладываю код программы с kuchka-pc, тк. он короче.

    #include <iostream>
    #include <windows.h>
    #include <SFML/Graphics.hpp>
    
    using namespace sf;
    
    int main()
    {
    	RenderWindow window(VideoMode(1366, 768), "1");
    	while (window.isOpen())
    	{
    		Event event;
    		while (window.pollEvent(event))
    		{
    			if (Keyboard::isKeyPressed(Keyboard::Escape))
    				window.close();
    		}
    		window.clear();
    		window.display();
    	}
    	return 0;
    }

Ответы

  • Единственная возможноя причина, это то что берутся заголовочные файлы из одной версии SDK, а тулсет из другой. Если есть старые ненужные версии студии, снесите их, и переустановите SDK нужной версии студии.

    • Предложено в качестве ответа

      6 марта 2018 г. 7:51

    • Помечено в качестве ответа
      Maksim MarinovMicrosoft contingent staff, Moderator
      29 марта 2018 г. 9:57

I am trying this code for a few first times only. I am not able to get to the root of the error.

Here is the code:

#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    fstream file;
    file.open("C:\Users\AfzaalAhmad\Documents\text.txt");
    return 0;
}

The file is present at the location. Here is a screenshot of the file system.

Screenshot of the file system

There is no exception in this case, but the file is never opened!

Where am I missing code?

Lightness Races in Orbit's user avatar

asked Feb 1, 2014 at 15:16

Afzaal Ahmad Zeeshan's user avatar

12

The command you’ve written will open a handle to a file at that location. In order to do anything with it, you’ll need some sort of read or write operation. Probably your code is working fine :)

For example, following your file.open("...") line:

file << "This is some text to send to my now open filen";
...
file.close();

answered Feb 1, 2014 at 15:23

chrisb2244's user avatar

5

Я столкнулся с этим с помощью Visual Studio 2017. Я попробовал решения, предложенные здесь, с явным добавлением путей к месту расположения файла «MSVCRT.lib». Но я чувствовал, что это, вероятно, не правильный подход, потому что ранее в течение последних нескольких недель это не было проблемой с моим проектом.

После проб и ошибок я обнаружил, что если я оставлю пустое или пустое значение в разделе Linker → Input, это выдаст мне ошибку о LNK1104: невозможно открыть файл ‘MSVCRT.lib’. В конце концов я понял, что вместо этого я должен оставить это значение.

В проекте Visual Studio щелкните правой кнопкой мыши элемент проекта на панели обозревателя решений (а не само решение, которое является самым верхним элементом), затем выберите «Свойства». Оттуда сделайте следующее:

Linker → Input: % (AdditionalDependencies)

Эта дополнительная информация может быть полезна, если вы попали в ситуацию так же, как я. Я обнаружил, что я не должен помещать какие-либо несистемные пути к библиотекам в раздел Linker → Input. С моим проектом я пытался скомпилировать с внешними .lib файлами. Ранее у меня было значение в этом разделе ввода, например: $ (ProjectDir) lib; % (AdditionalDependencies), но это приводит к другим проблемам. Я обнаружил, что правильное место (кажется, пока) для размещения путей для ссылки на внешние файлы .lib в проекте C/C++ в Visual Studio 2017 находится здесь:

V C++ Каталоги → Библиотечные каталоги: $ (ProjectDir) lib; $ (LibraryPath)

Обратите внимание, что значение $ (LibraryPath) будет включать дополнительные значения, такие как унаследованные от родителей. Мой проект папок содержал папку с именем «lib», поэтому у меня было первое значение перед точкой с запятой.

Возможно, вам также будет интересно:

  • C004f063 ошибка активации windows 7
  • C windows system32 sspicli dll ошибка
  • C004f057 ошибка активации windows 7
  • C windows system32 rtlihvs dll код ошибки 126
  • C004f050 ошибка активации windows 10

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии