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

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

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

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

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

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

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

Разработать функцию подсчета суммарного размера всех файлов заданного шаблона в указанной директории - C++
Разработать программу для решения задачи с файловой системой. Разработать функцию подсчета суммарного размера всех файлов заданного...

Файлы и их создание в определенной директории - C++
Здравствуйте, форумчане, хотелось бы узнать кое-что по данному вопросу, а конкретнее задаче: Нужно создать при запуске определенную папку...

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

Прочитать данные из файла в матрицу с указанной позиции - C++
"дата 16.09.03 время 0:03:28 число точек 6144 частота 0616000 станция радиостация дискретность 50 Ф.И.О. оператора калибровка...

Отсутствие файла директории - C++
Всем привет, пытаюсь научиться программировать в с++. Такая беда на первом задание. Исходный текст: #include "stdafx.h" #include...

14
LEQADA
Мастер кустарных методов
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 21:23 #2
Обращение к командной строке через system() не вариант?
0
David Sylva
1288 / 950 / 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"); 
}
0
Leomana
58 / 58 / 5
Регистрация: 29.06.2012
Сообщений: 188
02.07.2012, 21:27 #4
C++
1
FILE *f1 = fopen(" путь к вашей папке//file.txt","w");
0
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, мне нужно создать файл в папке, которая создается в этой же программе...
0
LEQADA
Мастер кустарных методов
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 21:46 #6
Rabbit13245, вы так, наверное, пытаетесь пройти в нужную директорию.
C++
1
system ("echo > a.txt");
создаст файл a.txt в текущей директории.
0
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 создается в текущей директории, то есть переход не работает. как его осуществить?
0
LEQADA
Мастер кустарных методов
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
02.07.2012, 22:04 #8
Rabbit13245, давайте создадим батник в текущей директории с двумя строчками. В первой строке будет переход в нужную директорию, а во второй создание файла. Потом запустим его. Всё это из C++. Пока лучшего придумать не могу.
0
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
02.07.2012, 22:05  [ТС] #9
LEQADA, да вся ерунда в том, что имя директории я получаю в процессе выполнения программы. оно передается аргументом при запуске программы из командной строки.
0
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");
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
02.07.2012, 22:17 #11
LEQADA, А закрывать файл кто будет перед использованием в system?
2
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");
...
1
soon
2542 / 1307 / 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;
}
3
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
02.07.2012, 22:37  [ТС] #14
soon, а что за файлик такой? #include <boost/filesystem.hpp>
у меня 14 ошибок просто вылезает при компиляции..
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.07.2012, 22:41 #15
http://www.boost.org/
0
02.07.2012, 22:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2012, 22:41
Привет! Вот еще темы с ответами:

Нет файла в директории - C++
Доброго времени суток. Прошу помощи. Установил я MinGW. пытаюсь откомпелировать свой hello word. но вот незадача, когда я указываю в...

Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле - C++
Имеется много папок в каждой папке есть файл proc.txt, как можно по всем этим папкам пройтись и из каждой папки в этом файле достать...

Сформируйте выходной файл, вставив в первый входной файл содержимое второго входного файла с указанной позиции - C++
Помогите решить задачу. Даны два входных текстовых файла. Сформируйте выходной файл, вставив в первый входной файл содержимое второго...

Операции создания каталога, изменения временного каталога, удаление файла и директории - C++
Написать программу, которая позволяет выполнять операции создания каталога, изменения временного каталога, удаление файла и директории...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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