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

Чтение файла через API - C++

Восстановить пароль Регистрация
 
ArkTaS
1 / 1 / 0
Регистрация: 01.07.2013
Сообщений: 127
17.09.2013, 22:51     Чтение файла через API #1
Доброго времени суток! Создаю здесь тему повторно т.к в разделе Win Api никто не читает изменил код для удобства. Помогите разобраться почему не читает файл. Файл создал правой кнопкой мыши, txt формат, в файле записано несколько цифр, атрибуты не трогал. Для ReadFile в качестве 1-го параметра пробовал handle от FindFirstFile но не читает. Попробовал открыть ф-й CreateFile но открыть не удается.
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
/#include <iostream>
#include <windows.h>
#include <winbase.h>
 
using namespace std;
 
void main()
{
    setlocale( LC_ALL,"Russian" ); 
    WIN32_FIND_DATA sss;
    HANDLE f,d;
 
 
    f = FindFirstFile(L"E:\\Sanni.txt", &sss);
    if (f != INVALID_HANDLE_VALUE)
    {
         char dest[100]; 
         DWORD buf;
         if (  !ReadFile(f, dest, sizeof(dest), &buf, NULL)  ) 
          cout<<endl<< " Чтение не удалось ";
          cout<<endl<<dest;
        
        d=CreateFile(L"E:\\Sanni.txt", GENERIC_ALL, FILE_SHARE_WRITE | FILE_SHARE_READ |FILE_SHARE_DELETE,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        if(d !=INVALID_HANDLE_VALUE)
        {
          cout<<endl<< " Открытие удалось "; 
        }
        else
        cout<<endl<< "INVALID_HANDLE_VALUE";
    }
    else
    cout<<endl<< " Файл не найден";
 
    FindClose(f);
    cout<<endl;
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.09.2013, 23:29     Чтение файла через API #2
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
#include <iostream>
#include <windows.h>
#include <winbase.h>
 
using namespace std;
 
void main()
{
    setlocale( LC_ALL,"Russian" ); 
    WIN32_FIND_DATA sss;
    HANDLE f,d;
 
   
    f = FindFirstFile(L"E:\\Sanni.txt", &sss);
    if (f != INVALID_HANDLE_VALUE)
    {
        
        f = CreateFileA("E:\\Sanni.txt", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_ALWAYS, 0, 0);
        if (f == INVALID_HANDLE_VALUE)
        {
            printf("Error open file\n");
        }
        else 
        {
            cout << endl <<  " Открытие удалось " << endl; 
        
             char dest[100]; 
             DWORD buf;
             if (!ReadFile(f, dest, sizeof(dest), &buf, NULL)) 
                    cout << endl << " Чтение не удалось ";
             cout << endl << dest;
        }
        
        
    }
    else cout<<endl<< " Файл не найден";
   
 
    FindClose(f);
    cout<<endl;
    system("pause");
}
ArkTaS
1 / 1 / 0
Регистрация: 01.07.2013
Сообщений: 127
17.09.2013, 23:30  [ТС]     Чтение файла через API #3
Так ну открывать теперь начал. Дело было в GENERIC_ALL, поменял на GENERIC_WRITE. Посмотрим что дальше
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.09.2013, 23:44     Чтение файла через API #4
Цитата Сообщение от ArkTaS Посмотреть сообщение
Посмотрим что дальше
...
Миниатюры
Чтение файла через API  
ArkTaS
1 / 1 / 0
Регистрация: 01.07.2013
Сообщений: 127
18.09.2013, 01:08  [ТС]     Чтение файла через API #5
alsav22, Вы меня не правильно поняли, если взглянуть на время вашего и моего сообщения
Цитата Сообщение от ArkTaS Посмотреть сообщение
Так ну открывать теперь начал. Дело было в GENERIC_ALL, поменял на GENERIC_WRITE. Посмотрим что дальше
то они написаны в одно и тоже время. То есть, я еще не видел вашего кода когда отправлял сообщение. Поэтому не стоит воспринимать это на свой счет. И за помощь конечно от меня благодарность
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.09.2013, 01:10     Чтение файла через API #6
Цитата Сообщение от ArkTaS Посмотреть сообщение
alsav22, Вы меня не правильно поняли, если взглянуть на время вашего и моего сообщения то они написаны в одно и тоже время. То есть, я еще не видел вашего кода когда отправлял сообщение. Поэтому не стоит воспринимать это на свой счет. И за помощь конечно от меня благодарность
На время я, конечно, не посмотрел, но я ничего, ни на чей счёт, не воспринял. Просто показал, что у меня этот код работает.
Yandex
Объявления
18.09.2013, 01:10     Чтение файла через API
Ответ Создать тему
Опции темы

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