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

Создание файла в указанной директории - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
Rabbit13245
27 / 27 / 2
Регистрация: 21.04.2012
Сообщений: 280
02.07.2012, 21:19     Создание файла в указанной директории #1
Добрый вечер. Есть задание, пользователь запускает программу из консоли с одним аргументом - именем создаваемой папки. Необходимо в этой созданной папке создать текстовый файл. Как это сделать, подскажите пожалуйста. Папку то я создал а как быть с файлом?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 21:19     Создание файла в указанной директории
Посмотрите здесь:

прочитать данные из файла в матрицу с указанной позиции C++
Операции создания каталога, изменения временного каталога, удаление файла и директории C++
C++ перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)
C++ Удаление из файла указанной записи.С++
Отсутствие файла директории C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 21:23     Создание файла в указанной директории #2
Обращение к командной строке через system() не вариант?
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
02.07.2012, 21:25     Создание файла в указанной директории #3
Может я не понял задание но текстовый файл можно создать вот так


C++
1
2
3
4
5
6
7
#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{ 
    ofstream outfile("Text.txt"); 
}
Leomana
58 / 58 / 5
Регистрация: 29.06.2012
Сообщений: 188
02.07.2012, 21:27     Создание файла в указанной директории #4
C++
1
FILE *f1 = fopen(" путь к вашей папке//file.txt","w");
Rabbit13245
27 / 27 / 2
Регистрация: 21.04.2012
Сообщений: 280
02.07.2012, 21:45  [ТС]     Создание файла в указанной директории #5
LEQADA,
C++
1
2
sprintf(run, "cd %s", argv[1]); 
system (run)
?

Добавлено через 8 минут
David Sylva, мне нужно создать файл в папке, которая создается в этой же программе...
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 21:46     Создание файла в указанной директории #6
Rabbit13245, вы так, наверное, пытаетесь пройти в нужную директорию.
C++
1
system ("echo > a.txt");
создаст файл a.txt в текущей директории.
Rabbit13245
27 / 27 / 2
Регистрация: 21.04.2012
Сообщений: 280
02.07.2012, 21:49  [ТС]     Создание файла в указанной директории #7
LEQADA,
C++
1
2
3
4
char run[_MAX_PATH];
    sprintf(run, "cd %s",argv[1]);         
    system(run);
    system ("echo > a.txt");
но все равно файл a.txt создается в текущей директории, то есть переход не работает. как его осуществить?
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 22:04     Создание файла в указанной директории #8
Rabbit13245, давайте создадим батник в текущей директории с двумя строчками. В первой строке будет переход в нужную директорию, а во второй создание файла. Потом запустим его. Всё это из C++. Пока лучшего придумать не могу.
Rabbit13245
27 / 27 / 2
Регистрация: 21.04.2012
Сообщений: 280
02.07.2012, 22:05  [ТС]     Создание файла в указанной директории #9
LEQADA, да вся ерунда в том, что имя директории я получаю в процессе выполнения программы. оно передается аргументом при запуске программы из командной строки.
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 22:15     Создание файла в указанной директории #10
Попробуйте
C++
1
2
3
ofstream out("a.bat");
out<<"cd "<<argv[1]<<endl<<"echo > a.txt"<<endl; //здесь в argv[1] название созданной папки
system ("a.bat");
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.07.2012, 22:17     Создание файла в указанной директории #11
LEQADA, А закрывать файл кто будет перед использованием в system?
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 22:23     Создание файла в указанной директории #12
ForEveR, виноват
C++
1
2
3
4
5
6
...
ofstream out("a.bat");
out<<"cd "<<argv[1]<<endl<<"echo > a.txt"<<endl; //здесь в argv[1] путь к созданной папке
out.close ();
system ("a.bat");
...
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.07.2012, 22:28     Создание файла в указанной директории #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <boost/filesystem.hpp>
#include <fstream>
#include <cstdlib>
#include <iostream>
 
int main(int argc, const char* argv[])
{
    const auto filename = "filename";
    for(std::size_t i = 1; i < static_cast<std::size_t>(argc); ++i)
    {
        boost::filesystem::path p(argv[i]);
        if(boost::filesystem::exists(p) && !boost::filesystem::is_directory(p))
        {
            std::cerr << p << " is already exist. Scipping" << std::endl;
            continue;
        }
        if(!boost::filesystem::exists(p))
            boost::filesystem::create_directory(p);
        std::ofstream(p.string() + '/' + filename);
    }
    return 0;
}
Rabbit13245
27 / 27 / 2
Регистрация: 21.04.2012
Сообщений: 280
02.07.2012, 22:37  [ТС]     Создание файла в указанной директории #14
soon, а что за файлик такой? #include <boost/filesystem.hpp>
у меня 14 ошибок просто вылезает при компиляции..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2012, 22:41     Создание файла в указанной директории
Еще ссылки по теме:

C++ Сформируйте выходной файл, вставив в первый входной файл содержимое второго входного файла с указанной позиции
C++ Вывести список всех файлов из указанной директории, имена которых содержат русские буквы
Разработать функцию подсчета суммарного размера всех файлов заданного шаблона в указанной директории C++

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.07.2012, 22:41     Создание файла в указанной директории #15
http://www.boost.org/
Yandex
Объявления
02.07.2012, 22:41     Создание файла в указанной директории
Ответ Создать тему
Опции темы

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