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

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

Войти
Регистрация
Восстановить пароль
 
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
#1

Извлечение имени файла - C++

03.11.2012, 13:35. Просмотров 812. Ответов 14
Метки нет (Все метки)

Как извлечь имя файла для последующей записи в массив\файл?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 13:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Извлечение имени файла (C++):

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

Извлечение информации из BMP файла - C++
Есть вот такое вот задание: 1. Разработать программу, результатом которой будет следующая информация о свойствах графического файла...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
03.11.2012, 13:38 #2
Как идентифицирован файл?
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
03.11.2012, 13:44  [ТС] #3
В смысле?
нуу.. некий файл .jpg с определенным путем, но неопределенным именем, ибо их там много. и это имя надо извлечь и записать. Извлечение всего пути тоже подойтет

p.s не совем понял что вы имеете ввиду под "идентификацией файла"
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
03.11.2012, 13:51 #4
Идентификация это идентификация и ничего более

Если программист или пользователь САМ не знает, чё ему надо, как об этом узнает программа? Сам же сказал:
Цитата Сообщение от mersinvald Посмотреть сообщение
ибо их там много
был бы например он один, можно было работать, а так... Есть несколько файлов в папке, надо получить имя одного из них. Какого? А чёрт его знает! Но получить надо....
Гениально!
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
03.11.2012, 14:19  [ТС] #5
Цитата Сообщение от kravam Посмотреть сообщение
Идентификация это идентификация и ничего более

Если программист или пользователь САМ не знает, чё ему надо, как об этом узнает программа? Сам же сказал:

был бы например он один, можно было работать, а так... Есть несколько файлов в папке, надо получить имя одного из них. Какого? А чёрт его знает! Но получить надо....
Гениально!
Хорошо... Как извлечь имя одного файла?
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.11.2012, 14:21 #6
mersinvald, он чем-то от других файлов отличается?
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
03.11.2012, 14:23  [ТС] #7
Цитата Сообщение от I.M. Посмотреть сообщение
mersinvald, он чем-то от других файлов отличается?
Именем
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.11.2012, 14:26 #8
Вы его имя знаете?
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
03.11.2012, 14:40  [ТС] #9
Цитата Сообщение от I.M. Посмотреть сообщение
Если бы я его знал то зачем бы мне надо было его извлекать?)
Я знаю только расширение

Вот что в результате должна делать программа:
1) чтение имени файла в целевой дирректории
2) поиск совпадений в list.txt
Если есть совпадение, переход к следующему файлу
Если нет совпадений, копирование файла, занесение имени файла в list.txt, переход к следующему файлу
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
03.11.2012, 14:48 #10
Цитата Сообщение от mersinvald Посмотреть сообщение
переход к следующему файлу
я правильно понял, что ты должен просто перебирать ВСЕ файлы и совершать с ними определённые действия?
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
03.11.2012, 14:50  [ТС] #11
Цитата Сообщение от kravam Посмотреть сообщение
я правильно понял, что ты должен просто перебирать ВСЕ файлы и совершать с ними определённые действия?
Да. При этом занося их имена в текстовый файл. С операциями над файлами все просто. Я застрял на занесении имени в файл. Код не выкладываю, ибо даже не начинал еще. Т.к смысла нет, все равно знаю где застряну
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
03.11.2012, 14:55 #12
mersinvald, Может Boost filesystem?
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
03.11.2012, 14:57 #13
Ну так и бы и сказал, что тебе над получить имена всех файлов в директории. Вот прога:
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 <stdio.h>
#include <windows.h>
int f (char* ima_direktorii_i_rashirenie){
        WIN32_FIND_DATA FindFileData;
        HANDLE hf;
        hf = FindFirstFile(ima_direktorii_i_rashirenie,&FindFileData);
        if(hf != INVALID_HANDLE_VALUE){
                do{
                        printf("%s\n",FindFileData.cFileName);
                 // ÒÓò FindFileData.cFileName èìÿ òâîåãî î÷åðåäГ*îãî Г*Г*éäåГ*Г*îãî 
                 //ГґГ*éëГ*, Г·Вё õî÷åøü Г± Г*ГЁГ¬ ГІГ® ГЁ äåëГ*Г©.
                }
                while(FindNextFile(hf,&FindFileData) != 0);
                FindClose(hf);
        }
        getchar();
        return 0;
}
int main(){
        //ÑþäГ* Г*Г*ГЇГЁГёГЁ èìÿ Г*ГіГ¦Г*îé äèðåêòîðèè ГЁ Г*ГіГ¦Г*îå Г°Г*ñøèðåГ*ГЁГҐ
        f ((char*)"E:\\MKVtoolnix\\*.jpg");
        getchar();
        return 0;
}
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
03.11.2012, 15:45  [ТС] #14
Цитата Сообщение от kravam Посмотреть сообщение
Ну так и бы и сказал, что тебе над получить имена всех файлов в директории. Вот прога:
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 <stdio.h>
#include <windows.h>
int f (char* ima_direktorii_i_rashirenie){
        WIN32_FIND_DATA FindFileData;
        HANDLE hf;
        hf = FindFirstFile(ima_direktorii_i_rashirenie,&FindFileData);
        if(hf != INVALID_HANDLE_VALUE){
                do{
                        printf("%s\n",FindFileData.cFileName);
                 // ÒÓò FindFileData.cFileName èìÿ òâîåãî î÷åðåäГ*îãî Г*Г*éäåГ*Г*îãî 
                 //ГґГ*éëГ*, Г·Вё õî÷åøü Г± Г*ГЁГ¬ ГІГ® ГЁ äåëГ*Г©.
                }
                while(FindNextFile(hf,&FindFileData) != 0);
                FindClose(hf);
        }
        getchar();
        return 0;
}
int main(){
        //ÑþäГ* Г*Г*ГЇГЁГёГЁ èìÿ Г*ГіГ¦Г*îé äèðåêòîðèè ГЁ Г*ГіГ¦Г*îå Г°Г*ñøèðåГ*ГЁГҐ
        f ((char*)"E:\\MKVtoolnix\\*.jpg");
        getchar();
        return 0;
}
строку
C++
1
if(hf != INVALID_HANDLE_VALUE){
он обходит, проверка выполняется не верно, никаких действий соответственно не происходит...

Добавлено через 4 минуты
Я идиот... Надо ж было диск подключить
Тема закрыта. Спасибо за помощь
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
03.11.2012, 15:46 #15
НУ и разбирайся значит, почему у тебя
Цитата Сообщение от mersinvald Посмотреть сообщение
hf== INVALID_HANDLE_VALUE
может имя папки не так указал, может ещё что. Сосредоточься на функции FindFirstFile, ибо это она возвращает значение INVALID_HANDLE_VALUE. Работай, в общем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 15:46
Привет! Вот еще темы с ответами:

Добавить расширение к имени файла - C++
т.е. чтобы постоянно не писать его в программе... void vvod(char name) { char dat=&quot;.dat&quot;; fstream FileOutput; ...

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

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

Удаление строки из файла по имени - C++
Помогите пожалуйста удалить строку из файла по введенному имени в консоле.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.11.2012, 15:46
Ответ Создать тему
Опции темы

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