Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Rahmandretop
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 8
1

Работа с файлами в С++

16.03.2018, 14:31. Просмотров 245. Ответов 11

Здравствуйте! Следующая проблема: С++ не может открыть файл. Пробовал и абсолютный и относительный путь, и Visual Studio и Clion. Операционная система - Windows 10. Может быть проблема, что нет какого-либо доступа к этому файлу? (На Python файлы нормально открываются и считываются)
Вот код:
C++ (Qt)
1
2
3
fstream f;
f.open("in.txt", ios::in);
cout << f.is_open();
Собственно f.is_open() возвращает 0
Файл точно есть в нужной директории
Заранее спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2018, 14:31
Ответы с готовыми решениями:

Работа с файлами
Задание было такое: Создать телефонный справочник для осуществления следующих операций: ...

Работа с файлами
1.Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в...

работа с файлами на с++
помогите сделать задачу. условие: правила записи текста в файл: в первом файле слова...

Работа с файлами.
Даны два файла f1 и f2. Файл f1 - это инвентарный файл, содержащий сведения о том, сколько изделий...

Работа с файлами
Создать программу , которая создает файл и состоит из N строк . В первой строке напишите одну...

11
Серж762
570 / 395 / 109
Регистрация: 10.02.2018
Сообщений: 1,787
16.03.2018, 14:42 2
C++
1
f.open("in.txt", ios::in);
по данной строке - файл in.txt должен находиться рядом с исполняемым файлом !!!
0
Rahmandretop
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 8
16.03.2018, 14:50  [ТС] 3
Файл in.txt находится рядом с исполняемым файлом
0
Серж762
570 / 395 / 109
Регистрация: 10.02.2018
Сообщений: 1,787
16.03.2018, 14:53 4
Цитата Сообщение от Rahmandretop Посмотреть сообщение
Файл in.txt находится рядом с исполняемым файлом
Странно набрал Ваш код с С::В у меня норм вернуло 1, а файл случайно не в корне диска С находится ???
0
16.03.2018, 14:53
Ygg
1903 / 512 / 193
Регистрация: 10.02.2018
Сообщений: 1,083
16.03.2018, 14:59 5
Для винды есть функция GetLastError(), которая возвращает код ошибки последней неудачной операции. Достаёте ошибку и смотрите.
0
Rahmandretop
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 8
16.03.2018, 15:03  [ТС] 6
Куда я только не пихал этот файл, и в корень диска D, и в другую папку, и в папку проекта, все равно ничего. Да, у меня на старом ноуте этот код тоже работал, а на новом, только купленном, не хочет, поэтому и уточняю, может в доступе какая-либо проблема?
0
Серж762
570 / 395 / 109
Регистрация: 10.02.2018
Сообщений: 1,787
16.03.2018, 15:08 7
Перепроверил с GetLastError() выдал код 2, дословно -файл не найдено, хотя если взять экзешник и фаил, и переместить в другую папку то норм странно это

Добавлено через 1 минуту
P.S. а если полностью прописать путь к файлу, тоже возвращает 0 ???
0
Rahmandretop
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 8
16.03.2018, 15:09  [ТС] 8
Да, я написал в вопросе, что пробовал абсолютный путь
0
Серж762
570 / 395 / 109
Регистрация: 10.02.2018
Сообщений: 1,787
16.03.2018, 15:11 9
Странно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
int main()
{
 fstream f;
 f.open("D:\\Cyberforum\\file\\bin\\Release\\in.txt",ios::in);
 
 
cout << f.is_open() << " " << GetLastError() << endl;
 
    return 0;
}
Вот результат:
Кликните здесь для просмотра всего текста
Работа с файлами в С++
0
Ygg
1903 / 512 / 193
Регистрация: 10.02.2018
Сообщений: 1,083
16.03.2018, 15:26 10
Для VS по умолчанию рабочий каталог отличается от каталога с исполняемым файлом. Если запускаете свою программу из VS, то или перенастройте рабочий каталог или положите текстовый файл рядом с main.cpp, а не рядом с exe.
1
Миниатюры
Работа с файлами в С++  
Серж762
570 / 395 / 109
Регистрация: 10.02.2018
Сообщений: 1,787
16.03.2018, 15:29 11
Точно положил файл возле main.cpp и результат 1 Как говориться век живи - век учись
P.S. Проверено на С::В
0
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
16.03.2018, 16:44 12
Цитата Сообщение от Rahmandretop Посмотреть сообщение
Пробовал и абсолютный
Значит криво пробовал.
Цитата Сообщение от Rahmandretop Посмотреть сообщение
и в папку проекта,
Если из среды запускать, то там и должен быть, а не:
Цитата Сообщение от Rahmandretop Посмотреть сообщение
Файл in.txt находится рядом с исполняемым файлом
0
16.03.2018, 16:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2018, 16:44

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

Работа с файлами
Плиззз.Помогите.Нужно создать каталог файлов и занести в отдельный файл файлы с заданной...

Работа с файлами в C++
Пишу программу, где предполагается работа с файлами, но при попытке объявления входного потока...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.