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

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

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

Не могу понять почему не присваивает?( - C++

09.11.2012, 18:45. Просмотров 621. Ответов 14
Метки нет (Все метки)

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h> 
#include <conio.h>
#include <iostream>
#include <windows.h>
#include <tchar.h>
#include <string.h>
using namespace std;
 
void FindFiles(TCHAR* pszPath, TCHAR* pszMask)
{
    TCHAR szFileName1[MAX_PATH];
    TCHAR szFileName2[MAX_PATH];
    WIN32_FIND_DATA fd;
    HANDLE hFind;
   
   
    wsprintf(szFileName1, _T("%s\\%s"), pszPath,pszMask);
  
 /* ПОЧЕМУ ФИНД не принимает значение?????((((*/   hFind = FindFirstFile(szFileName1, &fd);
    
   
    if (hFind == INVALID_HANDLE_VALUE) return;
    do
    {
             wsprintf(szFileName1, _T("%s\\%s"), pszPath, fd.cFileName);
             wprintf(szFileName1);
            
            
    /*          char  * Name = new char [sizeof(szFileName) / sizeof(char)];
                WideCharToMultiByte(CP_ACP, 0,  szFileName, -1, Name, strlen(Name), NULL, NULL);
                
                char  * type = new char [sizeof(pszMask) / sizeof(char)];
                WideCharToMultiByte(CP_ACP, 0,  pszMask, -1, type, strlen(type), NULL, NULL);
 
 
 
            if(!strcmp(type,"*.doc"))
                {
                    char * B;
                    B=strstr(Name, ".doc");
                        if(!B==0 )
                           {
                              strcat(Name,"/");
                              printf("%s\n",Name);}
               }
                
                if(!strcmp(type,"*"))
                {printf("%s\n",Name);} */
                    
                
        
                
    } while(FindNextFile(hFind, &fd));
    FindClose(hFind);
     
    wsprintf(szFileName2, _T("%s\\%s"), pszPath,_T("*"));
    hFind = FindFirstFile(szFileName2, &fd);
     
    if (hFind == INVALID_HANDLE_VALUE) return;
    do
    {
        if(!lstrcmp(fd.cFileName, _T("."))|| !lstrcmp(fd.cFileName, _T(".."))) continue;
        if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY )
        {
            wsprintf(szFileName1, _T("%s\\%s"), pszPath, fd.cFileName);
             FindFiles(szFileName1, pszMask);
        }
    } while(FindNextFile(hFind, &fd));
    FindClose(hFind);
}
 
 
 
 
int main()
{ 
    
    FindFiles(_T("c:\Intel"),_T("*.doc"));
//  if(!strcmp(argv,"all"))
//  {
//      FindFiles(pszPath,_T("*.*"));}
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу понять почему не присваивает?( (C++):

Не могу понять, почему? - C++
Доброго времени суток=) Такая печаль. Создается класс Окружность с полями радиус, площадь и длина окружности. Нужно создать функции...

Не могу понять почему... - C++
#include &quot;stdafx.h&quot; void main() { funct(); _getch(); } void funct() {

Не могу понять почему - C++
Есть кода программы(код взят разобраться): #include&lt;iostream&gt; using namespace std; class coord { protected: public: int x,y; ...

не могу понять, почему не вычисляет - C++
Вот задача, почему не правильно находит я, подскажите? #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;fstream&gt; #include...

не могу понять почему не работает - C++
Пожалуйста ,помоги,найти ошибку... услвие задачи Подсчитать количество вхождений букв и слов в тексте #include&lt;fstream.h&gt; ...

Не могу понять почему не вычисляет - C++
Ребят, помогите. Запускаю программу, все значения совпадают кроме -1, там напротив должен 0 стоят, а выдает такое: -3.2814e-015 XN=-3,...

14
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,935
Записей в блоге: 1
09.11.2012, 18:53 #2
что значит не принимает? он принимает INVALID_HANDLE_VALUE или что?
0
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
09.11.2012, 18:57  [ТС] #3
hFind = FindFirstFile(szFileName1, &fd); - если папка с файлами, он все равно остается пустым
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,935
Записей в блоге: 1
09.11.2012, 19:00 #4
кто остаётся пустым? структура fd заполняется или нет? Ты же в неё смотришь, верно?
0
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
09.11.2012, 23:01  [ТС] #5
когда я по шагу смотрю то fd заполнен, а вот в hHind нечего не передается.....

Добавлено через 2 часа 0 минут
я надеялся мне ответят быстро((((((((

Добавлено через 1 час 58 минут
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
09.11.2012, 23:26 #6
Цитата Сообщение от c0nail Посмотреть сообщение
когда я по шагу смотрю то fd заполнен, а вот в hHind нечего не передается.....
что значит не принимает значение? не нашел файл - вернул INVALID_HANDLE_VALUE.
0
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
10.11.2012, 00:35  [ТС] #7
если б папка была пустая......
Не могу понять почему не присваивает?(
&fd как видишь, содержит информацию о файле, а вот в hFind она не передается....

P.S. Надеюсь нормально обьяснил
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
10.11.2012, 00:59 #8
c0nail, он вам и вернул INVALID_HANDLE_VALUE.
А в fd никакой инфы нет. Если вы будете более внимательны, то увидите, что она содержит мусор, который как был до вызова FindFirstFile, так там и остался
1
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
10.11.2012, 14:10  [ТС] #9
ммм да , вы правы извиняюсь(((( факт остается фактом, почему оно не работает?((((

p.s. у меня этот код работал, но я где то что то помоиму поменял и теперь не знаю в чем проблема(

Добавлено через 13 часов 2 минуты
0
Croessmah
Эксперт CЭксперт С++
13501 / 7658 / 865
Регистрация: 27.09.2012
Сообщений: 18,844
Записей в блоге: 3
Завершенные тесты: 1
10.11.2012, 14:30 #10
C++
1
FindFiles(_T("c:\Intel"),_T("*.doc"));
поменяйте на
C++
1
FindFiles(_T("c:\\Intel"),_T("*.doc"));
Добавлено через 2 минуты
Цитата Сообщение от c0nail Посмотреть сообщение
если б папка была пустая......
а Вы не видите, какой текст содержится в szFileName1?
Там же написано c:Intel\*.doc
0
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
10.11.2012, 15:02  [ТС] #11
Цитата Сообщение от Croessmah Посмотреть сообщение
FindFiles(_T("c:\\Intel"),_T("*.doc"));
так тоже самое(((
0
Croessmah
Эксперт CЭксперт С++
13501 / 7658 / 865
Регистрация: 27.09.2012
Сообщений: 18,844
Записей в блоге: 3
Завершенные тесты: 1
10.11.2012, 15:05 #12
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h> 
#include <conio.h>
#include <iostream>
#include <windows.h>
#include <tchar.h>
#include <string.h>
using namespace std;
 
void FindFiles(TCHAR* pszPath, TCHAR* pszMask)
{
    TCHAR szFileName1[MAX_PATH];
    TCHAR szFileName2[MAX_PATH];
    WIN32_FIND_DATA fd;
    HANDLE hFind;
   
   
    wsprintf(szFileName1, _T("%s\\%s"), pszPath,pszMask);
  
 /* ПОЧЕМУ ФИНД не принимает значение?????((((*/   hFind = FindFirstFile(szFileName1, &fd);
    
   
    if (hFind == INVALID_HANDLE_VALUE) return;
    do
    {
             wsprintf(szFileName1, _T("%s\\%s"), pszPath, fd.cFileName);
             wprintf(szFileName1);
            
            
    /*          char  * Name = new char [sizeof(szFileName) / sizeof(char)];
                WideCharToMultiByte(CP_ACP, 0,  szFileName, -1, Name, strlen(Name), NULL, NULL);
                
                char  * type = new char [sizeof(pszMask) / sizeof(char)];
                WideCharToMultiByte(CP_ACP, 0,  pszMask, -1, type, strlen(type), NULL, NULL);
 
 
 
            if(!strcmp(type,"*.doc"))
                {
                    char * B;
                    B=strstr(Name, ".doc");
                        if(!B==0 )
                           {
                              strcat(Name,"/");
                              printf("%s\n",Name);}
               }
                
                if(!strcmp(type,"*"))
                {printf("%s\n",Name);} */
                    
                
        
                
    } while(FindNextFile(hFind, &fd));
    FindClose(hFind);
     
    wsprintf(szFileName2, _T("%s\\%s"), pszPath,_T("*"));
    hFind = FindFirstFile(szFileName2, &fd);
     
    if (hFind == INVALID_HANDLE_VALUE) return;
    do
    {
        if(!lstrcmp(fd.cFileName, _T("."))|| !lstrcmp(fd.cFileName, _T(".."))) continue;
        if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY )
        {
            wsprintf(szFileName1, _T("%s\\%s"), pszPath, fd.cFileName);
             FindFiles(szFileName1, pszMask);
        }
    } while(FindNextFile(hFind, &fd));
    FindClose(hFind);
}
 
 
 
 
int main()
{
    
    FindFiles(_T("c:\\Intel"),_T("*.doc"));
//  if(!strcmp(argv,"all"))
//  {
//      FindFiles(pszPath,_T("*.*"));}
    getch();
}
Не могу понять почему не присваивает?(
1
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
10.11.2012, 15:14  [ТС] #13
ой , это какой то внутрений лаг(((((( поменял просто FindFiles(_T("e:\\1"),_T("*.jpg")); и стало работать........


p.s Извиняюсь что зря трепал нервы(
0
Croessmah
Эксперт CЭксперт С++
13501 / 7658 / 865
Регистрация: 27.09.2012
Сообщений: 18,844
Записей в блоге: 3
Завершенные тесты: 1
10.11.2012, 15:16 #14
Цитата Сообщение от c0nail Посмотреть сообщение
ммммм и что мне теперь делать((((
в смысле? =)
1
c0nail
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 30
10.11.2012, 15:18  [ТС] #15
Всем спасибо, тему можно клоуз)
0
10.11.2012, 15:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2012, 15:18
Привет! Вот еще темы с ответами:

ошибка не могу понять почему ! - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; const int col=20; //создание структуры для библиотеки struct...

Не могу понять почему не работает - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int arrSize = 15; int main() { string Phone; ...

Не могу понять почему не работает - C++
#include &quot;stdio.h&quot; #include &quot;math.h&quot; #include &quot;conio.h&quot; #define E 1e-6 int main() { float x,y,a; int n; ...

Не могу понять почему не запускается - C++
Программа не запускается, скажите пожалуйста где ошибка? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using...


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

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

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