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

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

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

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

15.07.2014, 18:22. Просмотров 325. Ответов 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++
Есть ли способ получения абсолютного пути к файл из относительного? У меня пока мысль, что нужно открывать файл по относительному пути...

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

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

Обратиться к файлу, не указывая полный путь к нему - C++
Открывая файл я указываю путь на файл который находится в подкаталоге. system("start imya_papki\\test.exe"); А можно ли теперь из этого...

Вставка переменной(хранящей часть пути) в путь до файла... - C++
#include <iostream> #include <windows.h> using namespace std; int main(int argc, char* argv) { TCHAR path; ...

Не создается файл - C++
#include "iostream" #include "ctime" #include "cstdlib" #include "string.h" #include "fstream" using namespace std; class...

Не создается файл - C++
Я написал такой скрипт, я просто тренировался и у меня просто не создается файл, в чем проблема, помогите! Вот код #include <iostream> ...

Файл не создается - C++
почему не работает созздание файла?где ошибка подскажите пж{string s5,s; char s6; FILE *f; cout<<"ââåäèòå ñîáûòèå ãîäîì...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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();
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 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 файла не подразумевается директория в которой он находится?
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
15.07.2014, 19:38     Файл создается не по указанному пути, если путь к нему - относительный #5
При запуске процесса он наследует текущую директорию своего родителя,
то есть, процесса, который его запустил. Если в параметрах CreateProcess
явно не указано иное.
Yandex
Объявления
15.07.2014, 19:38     Файл создается не по указанному пути, если путь к нему - относительный
Ответ Создать тему
Опции темы

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