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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
#1

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

02.07.2012, 21:19. Просмотров 2224. Ответов 14
Метки нет (Все метки)

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

Прочитать данные из файла в матрицу с указанной позиции C++
Операции создания каталога, изменения временного каталога, удаление файла и директории C++
C++ перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)
C++ Удаление из файла указанной записи.С++
Отсутствие файла директории C++
C++ Сформируйте выходной файл, вставив в первый входной файл содержимое второго входного файла с указанной позиции
C++ Создание файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LEQADA
Мастер кустарных методов
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 21:23     Создание файла в указанной директории #2
Обращение к командной строке через system() не вариант?
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
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
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
02.07.2012, 21:45  [ТС]     Создание файла в указанной директории #5
LEQADA,
C++
1
2
sprintf(run, "cd %s", argv[1]); 
system (run)
?

Добавлено через 8 минут
David Sylva, мне нужно создать файл в папке, которая создается в этой же программе...
LEQADA
Мастер кустарных методов
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 21:46     Создание файла в указанной директории #6
Rabbit13245, вы так, наверное, пытаетесь пройти в нужную директорию.
C++
1
system ("echo > a.txt");
создаст файл a.txt в текущей директории.
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
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
Мастер кустарных методов
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 22:04     Создание файла в указанной директории #8
Rabbit13245, давайте создадим батник в текущей директории с двумя строчками. В первой строке будет переход в нужную директорию, а во второй создание файла. Потом запустим его. Всё это из C++. Пока лучшего придумать не могу.
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
02.07.2012, 22:05  [ТС]     Создание файла в указанной директории #9
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
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
02.07.2012, 22:17     Создание файла в указанной директории #11
LEQADA, А закрывать файл кто будет перед использованием в system?
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
2537 / 1302 / 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
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
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++
Создание файла .h и файла .cpp C++
C++ Нет файла в директории
C++ Файлы и их создание в определенной директории

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

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

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