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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
ruslan_bastos
1 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 17
#1

WIN32_FIND_DATA Вывод имени файла - C++

28.02.2013, 18:16. Просмотров 1960. Ответов 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
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
// Lab_3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "windows.h"
 
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    WIN32_FIND_DATA fd;
    SYSTEMTIME st;
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
 
    HANDLE hFind = FindFirstFile(L"C:\\*", &fd);
    do
    {
        if( hFind == INVALID_HANDLE_VALUE)
        {
            break;
        }
        
        
        cout << fd.cFileName << "\t\t";
 
        FileTimeToLocalFileTime(&fd.ftLastWriteTime, &fd.ftLastWriteTime);
        
if(FileTimeToSystemTime(&fd.ftLastWriteTime, &st) == TRUE)
        {
            cout << st.wDay << "-" << st.wMonth << "-"
                << st.wYear << " " << st.wHour << ":"
                << st.wMinute << ":" << st.wSecond << "  ";
        }
        cout << fd.nFileSizeLow<< " байт \t";
 
        if(fd.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE)
            cout << "АРХИВНЫЙ\t";
        if(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
            cout << "СКРЫТЫЙ\t";
        if(fd.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM)
            cout << "СИСТЕМНЫЙ\t";
        if(fd.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
            cout << "ТОЛЬКО ДЛЯ ЧТЕНИЯ\t";
 
 
        cout << "\n";
 
    } while (FindNextFile(hFind, &fd));
 
    FindClose (hFind);
    getchar();
 
    return 0;
}
Миниатюры
WIN32_FIND_DATA Вывод имени файла  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2013, 18:16     WIN32_FIND_DATA Вывод имени файла
Посмотрите здесь:

Ввод/вывод имени и пути файла, а также защита от дурака - C++
Доброго времени суток, господа. Что-то я либо некорректно формулирую запрос в google, либо просто мало чего есть на эту тему. Надо мне...

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

Тип переменной WIN32_FIND_DATA - C++
Не получается сохранить имена файлов в массив . Не могу разобраться с типами . Вот код: #include &quot;stdafx.h&quot; #include &lt;tchar.h&gt; ...

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

Вывод имени вразрядку - C++
Написать программу при помощи символьного массива, которая выводит имя с разрядкой: Введите имя -&gt; Petr Имя вразрядку -&gt; P e t r

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

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

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

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

Ввод имени файла с клавиатуры - C++
Всем привет! Хочу сделать так: int main() { char finame; printf(&quot;Enter the name of file: &quot;); scanf_s(&quot;%s&quot;, &amp;finame); ...

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
28.02.2013, 18:31     WIN32_FIND_DATA Вывод имени файла #2
ruslan_bastos, используй поле cAlternateFileName. Обычное поле идет для 8.3 формата имен первых FAT-систем. "альтернативное" имя для удлиненных (255 символов)
ruslan_bastos
1 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 17
28.02.2013, 18:54  [ТС]     WIN32_FIND_DATA Вывод имени файла #3
Не помогло.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
28.02.2013, 19:09     WIN32_FIND_DATA Вывод имени файла #4
ruslan_bastos, абсолютно то же выдает?
p.s Упс, я напутал. Альтернативное имя используется как раз в FAT, а обычное сейчас..:/ Извините

Попробуй wcout использовать для вывода имени файла? Может дело в TCHAR..
Yandex
Объявления
28.02.2013, 19:09     WIN32_FIND_DATA Вывод имени файла
Ответ Создать тему
Опции темы

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