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

Имена файлов для fstream. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
30.03.2011, 16:30     Имена файлов для fstream. #1
Всем привет.
Как использовать разные имена файлов?

Вот что у меня получилось...

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
 char* Ch[2] = {"1.txt","2.txt","3.txt"}; 
 ofstream file(Ch[1]);
 file << "TEST";
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.03.2011, 16:33     Имена файлов для fstream. #2
Only_HED, Почему размер масива 2, а количество елементов в нем 3 ?Да и вообще, что именно не выходит, какие ошибки ?
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
30.03.2011, 16:38  [ТС]     Имена файлов для fstream. #3
Почему размер масива 2, а количество елементов в нем 3 ?

Ошибка, думал Ch[0], Ch[1], Ch[2].



что именно не выходит, какие ошибки ?
error C2078: too many initializers

если только один char* Ch = "test.txt" тогда все ок
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
30.03.2011, 16:40     Имена файлов для fstream. #4
Индексация идет от 0 до SIZE-1. В вашем случае от 0 до 1.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.03.2011, 16:41     Имена файлов для fstream. #5
Цитата Сообщение от Only_HED Посмотреть сообщение
Ch[0], Ch[1], Ch[2].
Вы шутите да ?Если нет, то настоятельно советую еще раз почитать про масивы.
Цитата Сообщение от Only_HED Посмотреть сообщение
error C2078: too many initializers
Эта ошибка как раз вам говорит, что в списке инициализации масива елементов больше, чем его размер.
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
30.03.2011, 16:42  [ТС]     Имена файлов для fstream. #6
Мне просто нужно создавать много файлов под разными именами.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.03.2011, 16:43     Имена файлов для fstream. #7
Цитата Сообщение от Only_HED Посмотреть сообщение
Мне просто нужно создавать много файлов под разными именами.
Ну и вчем проблема ? Вам веть уже указали на ошибки.
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
30.03.2011, 16:45  [ТС]     Имена файлов для fstream. #8
а если это имя состоит из x = 12 y ="_file." r = "txt"
и имя должно быть 12_file.txt

Как это сделать?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.03.2011, 16:47     Имена файлов для fstream. #9
Only_HED,
C++
1
strcat(x, r);
Добавлено через 32 секунды
http://www.cplusplus.com/reference/c...string/strcat/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2011, 17:55     Имена файлов для fstream.
Еще ссылки по теме:

Сравнить содержимое файлов между собой, и если оно совпадает, то вывести на экран имена этих файлов C++
Определить имена потоков и узнать содержимое файлов C++
C++ Вывести имена файлов в порядке убывания размера файла

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

Или воспользуйтесь поиском по форуму:
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
30.03.2011, 17:55     Имена файлов для fstream. #10
Only_HED,
Вот вам пример создания пяти файлов с псевдослучайными именами из 3-х символов
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
#include <iostream>
#include <fstream>
#include <windows.h>
#include <time.h>
 
 
int main ()
{
    char buff[MAX_PATH]={0};
    char *ch[] = {"a","b","c","d","e","d","f"}; 
    srand(time(0));
    for(int j = 0;j < 5;++j)
    {
        for(int i = 0;i <= 2;++i)strcat(buff,ch[rand()%6]);
    strcat(buff,".txt");
    std::ofstream ofs(buff);
    ofs.close();
    buff[0] = '\0';
    }
 
 
        
return 0;
}
Yandex
Объявления
30.03.2011, 17:55     Имена файлов для fstream.
Ответ Создать тему
Опции темы

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