Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Трабл с WriteFile 
:(
    Опции темы
6atoh
Дата 25.9.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: нет
Всего: 4



Код

#include "stdafx.h"
#include "iostream.h"
#include "windows.h"

int main(int argc, char* argv[])
{
    HANDLE f;
    char fileName[10];
    int fileContent;
    char choise;
    DWORD  b=1;
    printf("Enter the file name:");
    cin>>fileName;
    if(f=CreateFile (fileName,
    GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,
    NULL,OPEN_ALWAYS,FILE_FLAG_NO_BUFFERING,NULL))
        printf("File %s created succesfully", &fileName);
    else return 0;
    printf("1. Write to file\n");
    printf("2. Read file\n");
    printf("3. Read file from needed position\n");
    printf("Please, enter your choise(1-3):");
    cin>>choise;
    switch(choise)
    {
        case '1':
        {
            printf("Enter the value:");
            cin>>fileContent;
            if
            (!WriteFile(f,&fileContent,sizeof(fileContent),&b,NULL))
                printf("Fuck!\n");
            CloseHandle(f);
        } 
    }
    return 0;
}


Почему у меня при попытке записать в файл выводит "Fuck!" smile 
PM MAIL ICQ   Вверх
Daevaorn
Дата 25.9.2006, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(6atoh @  25.9.2006,  22:26 Найти цитируемый пост)
if(f=CreateFile (fileName,
    GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,
    NULL,OPEN_ALWAYS,FILE_FLAG_NO_BUFFERING,NULL))

Скорей всего напутал с флагами. Лучше открывай либо только для чтения, либо только для записи - проблем будет меньше

Добавлено @ 22:14 
http://windowssdk.msdn.microsoft.com/en-us...y/ms685019.aspx
PM MAIL WWW   Вверх
6atoh
Дата 26.9.2006, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: нет
Всего: 4



Daevaorn, пасиб
PM MAIL ICQ   Вверх
Syberex
Дата 27.9.2006, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 15.9.2006
Где: Украина

Репутация: нет
Всего: нет



void FileRecord(char* Path,char* first, char* last)
{
fstream in(Path,ios_base::out |ios_base::binary);   //
in.write(first,last-first);
in.close();
};

ну их все эти флаги, коротко и ястно записать даннные между двумя указателями в файл.
--------------------
whole power in artificial intelligences
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.