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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Garret
0 / 0 / 0
Регистрация: 25.09.2009
Сообщений: 22
#1

Генерация имени файла при сохр. - C++

12.06.2010, 17:54. Просмотров 1378. Ответов 6
Метки нет (Все метки)

Доброго времени,

Хочу реализовать в своей программе функцию авто-сохранения отчетов
но чтоб названия файлов(отчетов) создавались не бездумно, а по порядку
*Как в фотоаппарате, когда делаешь снимок*

например, если в папке нету файлов, то первый файл будет называться 1.txt, следующий будет 2.txt и т.д.

А если в папке уже лежат файлы с названием 3.txt, 4.txt,
то сохраняемые будут идти с именем 5.txt, 6.txt и т.д.

Как сделать такую проверку, чтоб поверить названия файлов которые уже лежат в папке (а потом сохранять с названием +1), а если в папке нету файлов то создавать с 1 и т.д.?
Использую Qt & C++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2010, 17:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация имени файла при сохр. (C++):

Задание имени файла пользователем при чтении и записи - C++
Программа должна осуществлять запись в файл или чтение из файла (по выбору пользователя) целых чисел. Пока я написала вот такой код: ...

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

Генерация значений exe файла - C++
Есть код программы, при компиляции в студии выдает адекватные значения ( Рисунок 1). При создании .exe и его запуска выдает совершенно...

Генерация MD5 хеш суммы файла - C++
Сколько не пробовал, неправильно генерируется хеш! :( Ведь файл это набор символов. Потому я использовал функцию так как и с строкой. 8-)...

Расширение имени файла - C++
Здравствуйте, Можно ли как-нибудь сделать что бы файл создавался с заданным расширением, при этом название файла вводиться с клавиатуры ?...

Длина имени файла - C++
Возникла интересная проблема. Использовалось Visual C++ 1.52 Вот если имя файла больше 12 символов то он его просто напросто не видит....

6
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
12.06.2010, 20:51 #2
Могу подсказать только какие функции из библиотеки надо использовать
itoa для перевода числа в строку.
atoi для перевода строки в число.
Файл: stdlib.h
1
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
12.06.2010, 21:12 #3
считываешь все файлы по маске скажем *.txt переводишь выше описанными функциями в численные значения и ищешь максимальное, инкрементируешь - получаешь нужное тебе значение
1
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,850
12.06.2010, 21:16 #4
Цитата Сообщение от Genius Ignat Посмотреть сообщение
itoa для перевода числа в строку.
это нестандартная функция, мелкомягкими компиляторами поддерживается, а gcc - нет.
1
Garret
0 / 0 / 0
Регистрация: 25.09.2009
Сообщений: 22
13.06.2010, 01:10  [ТС] #5
считываешь все файлы по маске скажем *.txt переводишь выше описанными функциями
Это понятно, спасибо
А как мне считать имена имена файлов в каталоге?
в массив или еще как-то чтоб потом проверить? (я ж заведомо не знаю, сколько их будет)?
я просто с файлами еще не стыкался в С++
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.06.2010, 21:31 #6
Если работаешь в windows это может тебе пригодиться.
Пример программы которая в определенном каталоге ищет файлы с расширением *.txt.
вложенные каталоги не просматриваются.
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
#include "windows.h"
#include "iostream"
#include "string"
 
using namespace std;
 
void main()
{
 
string Path = "C:\\";       //для пути файла.
 
 
 
    WIN32_FIND_DATA FindFileData;
    HANDLE hf;
 
    hf=FindFirstFile("C:\\*.txt", &FindFileData);
 
    //Код расположенный ниже ищет все файлы с рашсширением .txt.
 
 
    if (hf!=INVALID_HANDLE_VALUE)
    {
        do
        {  
 
        Path  += FindFileData.cFileName;                        //создаеться полный путь сцеплением.
        cout << "Path file:  "<<Path.c_str()<<endl;             //выводим путь файла.
        cout << "Name file:  "<<FindFileData.cFileName<< endl;  //выводим имя файла.
/*путь файла можно использовать для отркрытия файла.   */       
        Path = "C:\\";   //сбрасываем путь.
 
        cout<<endl;
        }
 
        while (FindNextFile(hf,&FindFileData)!=0);
 
 
        FindClose(hf);
    }
 
 
 
system("pause");
}
1
skynet120
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 76
16.09.2013, 20:55 #7
подскажите как создать файл с заданным пользователем именем?
0
16.09.2013, 20:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2013, 20:55
Привет! Вот еще темы с ответами:

Извлечение имени файла - C++
Как извлечь имя файла для последующей записи в массив\файл?

Оператор запроса имени файла. - C++
Подскажите, как выглядит оператор запроса: имени файла в Си? То есть программа спрашивает у пользователя имя файла, например test.txt , я...

WIN32_FIND_DATA Вывод имени файла - C++
Программа должна выводить имя папок по маске. А также некоторые свойства папок и файлов. Все выводит отлично, но имя фала отображает не...

Ввод имени файла от пользователя - C++
Как сделать так, что бы консоль запрашивал имя файла? (ну это понятно) А вот как сделать что бы создавался файл с таким именем? что бы в...


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

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

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