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

Задать имя файла для создания! - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 5.00
Linhost
1 / 1 / 0
Регистрация: 22.02.2010
Сообщений: 9
10.03.2011, 15:55     Задать имя файла для создания! #1
Вообщем написал сегодня вот такую программку, но теперь меня просат чтобы записи которые сохраняются в файл были записаны в файл с произвольным именем. Тоесть мы запускаем и нас сразу просят ввести имя создаваемого файла и он создается и в него все записывается, а у меня сейчас создается но с уже заданным именем так вот и вопрос как организовать ввод этого названия?
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <cstdlib>
#include <time.h>
#include <fstream>
#include <iostream>
using namespace std;
 
 
 
void main()                                         // Создание исходных данных
{setlocale(LC_ALL, "Russian");
int* y = (int*)malloc(sizeof(int)*20);
int * APTR;
APTR = &*y;
int s=0;
int d=0;
srand(time(0));
for (int i=0; i<20; i++) 
{APTR[i]=-50+rand()%100;}
 
ofstream rewrite("data.dat");             // Создание файла и очистка
  rewrite.write("", 0); 
  rewrite.close();
 
 
ofstream f ("data.dat", ios::app);                // Исходные данные записываются в файл       
f<<"Массив из 20 случайных чисел:"<<endl;
for (int i=0; i<20; i++) 
f<< APTR[i]<<" ";
f<<endl<<endl;
f.close();
 
 
ifstream p ("data.dat");                                 // Исходные данные читаются из файла и выводятся на экран
cout <<"Массив из 20 случайных чисел:"<<endl;
p.seekg(30);
for (int i=0; i<20; i++) {
int l [20];
p >> l[i] ;
cout<<l[i]<<" ";}
p.close();
 
 
 
ifstream g ("data.dat");              // Исходные данные читаются из файла и обрабатываются
g.seekg(30);
for (int i=0; i<20; i++) {
int r [20];
g >> r[i] ;
if (r[i] & 1)
d=d+1;
else 
s=s+1;}
g.close();
 
 
ofstream j ("data.dat", ios::app);                     // Результат обработки записывается в файл
j <<"Количество четных чисел:"<< s << endl;
j <<"Количество нечетных чисел:" <<d;
j.close();
getch();}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
10.03.2011, 16:23     Задать имя файла для создания! #2
Вообщем написал сегодня вот такую программку
как организовать ввод этого названия?
Что-то не так.
Если первое - ложь, тогда вопрос - правдив, и товарищ не понимает. Но обманывать нехорошо.

Если первое - правда, тогда что стоит посмотреть ввод/вывод строк и сделать необходимые правки (максимум пару минут дела). Т.е. тогда вопрос - неправдив. Но обманывать нехорошо.
Linhost
1 / 1 / 0
Регистрация: 22.02.2010
Сообщений: 9
10.03.2011, 16:34  [ТС]     Задать имя файла для создания! #3
Не совсем понимаю к чему вы клоните, я написал сам это правда, писал конечно по уроку из ютуба, но писал сам, я не собираюсь в чом то оправдываться я просто спросил как сделать задание этого имени?
IrineK
Заблокирован
10.03.2011, 16:35     Задать имя файла для создания! #4
------------
Цитата Сообщение от IrineK Посмотреть сообщение
посмотреть ввод/вывод строк и сделать необходимые правки (максимум пару минут дела)
Linhost
1 / 1 / 0
Регистрация: 22.02.2010
Сообщений: 9
10.03.2011, 16:42  [ТС]     Задать имя файла для создания! #5
Это я понял, я хотел более точнее. В выражении ofstream rewrite("data.dat"); создается файл с именем data.txt

тоесть в скобках указывается именно путь до файла!
Мне нужно что то типо этого

char dat[10];
cout<<"Введите имя файла:";
gets(dat);

а вот дальше я не пойму есть что то типа

strcat("dat",".txt");

я не совсем точно помню как задается но это тоже не работает
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.03.2011, 16:56     Задать имя файла для создания! #6
Цитата Сообщение от Linhost Посмотреть сообщение
В выражении ofstream rewrite("data.dat"); создается файл с именем data.txt
Точнее data.dat
Цитата Сообщение от Linhost Посмотреть сообщение
а вот дальше я не пойму есть что то типа
strcat("dat",".txt");
Функция strcat() присоединяет к строке dat строку .txt
IrineK
Заблокирован
10.03.2011, 16:58     Задать имя файла для создания! #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
    
int main()
{
    char path[10];
    cin.getline(path,10);
 
    strcat(path,".txt");
    cout<<path;
 
    ofstream up(path);
        up<<"Hye";//без проверок, по-быстрому
    up.close();
 
    cin.get();
    return 0;
}
Создается файл blabla.txt
Все-таки нужно самому книжки читать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2011, 20:06     Задать имя файла для создания!
Еще ссылки по теме:

C++ Задать путь для создания файла
C++ Пользовательская функция для создания/открытия файла
C++ Написать функцию для создания нового файла

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

Или воспользуйтесь поиском по форуму:
Linhost
1 / 1 / 0
Регистрация: 22.02.2010
Сообщений: 9
10.03.2011, 20:06  [ТС]     Задать имя файла для создания! #8
Спасибо, подредактировал свой код все окей сделал чтобы еще спрашивал какой формат нужно задать файлу, ну и задает его
Yandex
Объявления
10.03.2011, 20:06     Задать имя файла для создания!
Ответ Создать тему
Опции темы

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