Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Егор Рязанцев
 Аватар для Егор Рязанцев
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 12
#1

Файл создается не по указанному пути, если путь к нему - относительный - C++

15.07.2014, 18:22. Просмотров 285. Ответов 4
Метки нет (Все метки)

Доброе время суток.
Пытаюсь создать файл и кое-что в него записать с помощью fopen_s:
C++
1
2
FILE* out;
fopen_s(&out, "test.txt", "wt");
Но файл не создавался. Но потом неожиданно я обнаружил искомый файл там, где его не должно было быть.
Каталог проекта:
"C:\Users\viktor\Desktop\Егор\Проект\SkinMaster\SkinMaster"
Каталог, где был найден файл:
C:\Users\viktor\Downloads
Почему так происходит, и как это решить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 18:22     Файл создается не по указанному пути, если путь к нему - относительный
Посмотрите здесь:

C++ HANDLE файла зная путь к нему
Обратиться к файлу, не указывая полный путь к нему C++
C++ Вставка переменной(хранящей часть пути) в путь до файла...
Файл не создается C++
Путь с пробелами не принимается. Не выводит список файлов в пути к которым пробелы(студия 2013, консоль) C++
C++ Не создается файл в каталоге
C++ Вывод в файл из командной строки по указанному в ней пути
C++ Путешествующий файл: абсолютный и относительный путь к файлу
Относительный путь в абсолютный C++
C++ Не создается файл
C++ Дано целое число.Если оно является положительным,то прибавить к нему 1;если отрицательное,то вычесть из него 2
C++ Не создается файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
15.07.2014, 18:34     Файл создается не по указанному пути, если путь к нему - относительный #2
Егор Рязанцев, странно конечно. Может всё из-за того что в пути директории на кирилице (...\Егор\Проект\...).
Попробуйте как вариант:
C++
1
2
3
std::ofstream out("test.txt");
out << "Hello World!";
out.close();
Убежденный
Системный программист
 Аватар для Убежденный
14676 / 6622 / 1049
Регистрация: 02.05.2013
Сообщений: 10,903
Завершенные тесты: 1
15.07.2014, 19:03     Файл создается не по указанному пути, если путь к нему - относительный #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Егор Рязанцев Посмотреть сообщение
Почему так происходит
Потому что если не указать полный путь к файлу, он будет создаваться в
текущей директории. А текущая директория может отличаться от той,
где находится exe-файл. Ну вот например, открываю консоль (cmd.exe),
ввожу команду
Код
cd /d D:\Programs
После этого текущая директория будет D:\Programs.
Если теперь запустить файл с диска C так
Код
C:\prog.exe
То его текущая директория будет D:\Programs.
А сам exe лежит в корне диска C. И файл, указанный без абсолютного пути,
этот exe будет создавать тоже в "D:\Programs", а не в "C:\".
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
15.07.2014, 19:24     Файл создается не по указанному пути, если путь к нему - относительный #4
Убежденный, разве в текущем для *.exe файла не подразумевается директория в которой он находится?
Убежденный
Системный программист
 Аватар для Убежденный
14676 / 6622 / 1049
Регистрация: 02.05.2013
Сообщений: 10,903
Завершенные тесты: 1
15.07.2014, 19:38     Файл создается не по указанному пути, если путь к нему - относительный #5
При запуске процесса он наследует текущую директорию своего родителя,
то есть, процесса, который его запустил. Если в параметрах CreateProcess
явно не указано иное.
Yandex
Объявления
15.07.2014, 19:38     Файл создается не по указанному пути, если путь к нему - относительный
Ответ Создать тему
Опции темы

Текущее время: 00:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru