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

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

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

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

15.07.2014, 18:22. Просмотров 327. Ответов 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++):

Путешествующий файл: абсолютный и относительный путь к файлу - C++
Добрый день. Наверно совсем уж нубский вопрос. У меня в коде идёт чтение файла. Допустим реад и ссылка на файл. Файл лежит в...

Вывод в файл из командной строки по указанному в ней пути - C++
Здравствуйте! Нужно написать программу, которая копирует вводимый с клавиатуры код (до эмулированного конца файла) в файл, имя которого...

Относительный путь в абсолютный - C++
Есть ли способ получения абсолютного пути к файл из относительного? У меня пока мысль, что нужно открывать файл по относительному пути...

Дано целое число. Если оно является нечетным положительным, то прибавить к нему 1, если отрицательным, то вычесть 2, если нулевым, то заменить на 10 - C++
Дано целое число. Если оно является нечетным положительным, то прибавить к нему 1, если отрицательным, то вычесть из него 2, если нулевым,...

Дано целое число.Если оно является положительным,то прибавить к нему 1;если отрицательное,то вычесть из него 2 - C++
Дано целое число.Если оно является положительным,то прибавить к нему 1;если отрицательное,то вычесть из него 2; если нулевым,то заменить...

HANDLE файла зная путь к нему - C++
Привет всем. Подскажите с помощью какой функции можно получить HANDLE файла, при наличии полного пути к єтому фалу?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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();
Убежденный
Системный программист
Эксперт С++
15504 / 7002 / 1105
Регистрация: 02.05.2013
Сообщений: 11,436
Завершенные тесты: 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 файла не подразумевается директория в которой он находится?
Убежденный
Системный программист
Эксперт С++
15504 / 7002 / 1105
Регистрация: 02.05.2013
Сообщений: 11,436
Завершенные тесты: 1
15.07.2014, 19:38 #5
При запуске процесса он наследует текущую директорию своего родителя,
то есть, процесса, который его запустил. Если в параметрах CreateProcess
явно не указано иное.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2014, 19:38
Привет! Вот еще темы с ответами:

Программа не находит файл, если путь к нему указан относительный - C#
есть текстбокс1 и кнопка1, при нажатии на кнопку один в текстбокс1 идет адрес выбранного файла: кнопка1: ...

Как удалить файл, если путь к нему написан в listbox? - C#
как удалить файл если его путь написан в listbox??? я пробовал вот так:File.Delete(ListBox.Items); но не получается, подскажите...

Файловый ввод-вывод. Где должен располагаться файл, если в коде путь к нему не прописан? - C (СИ)
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; # include &lt;cstdlib&gt; # include &lt;cstdio&gt; ...

Uri как загрузить если есть не полный а относительный путь - C# WPF
Загружаю картинку или видеофай, если дается полный путь то все работает, если относительный то ничего не работает, изображение не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.07.2014, 19:38
Ответ Создать тему
Опции темы

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