HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4441  
Старый 09.12.2009, 10:29
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами: 9989619

Репутация: 106
По умолчанию

Цитата:
Сообщение от winterfrost  
fclose(fp);
- если файл не открылся, мб и не надо его закрывать? =)
В этом ты прав)

Цитата:
The fopen() function opens a file indicated by fname and returns a stream associated with that file. mode is used to determine how the file will be treated (i.e. for input, output, etc).

If there is an error, fopen() returns NULL.
Если файл не открыт то он пытается закрыть указатель на адрес файла который равен 0 поэтому и получает ошибку сегментации
 
Ответить с цитированием

  #4442  
Старый 09.12.2009, 11:18
winterfrost
Познающий
Регистрация: 18.08.2008
Сообщений: 45
С нами: 9331083

Репутация: 64
По умолчанию

Код:
if ((fp=fopen(files[i],"r+"))==NULL) {
    perror("fopen");
    i++;
    continue; // <--
}
попробуй добавить continue, что-бы перейти к следующей интерации цикла
 
Ответить с цитированием

  #4443  
Старый 09.12.2009, 11:41
InFlame
Участник форума
Регистрация: 27.10.2008
Сообщений: 215
С нами: 9230381

Репутация: 90
По умолчанию

Всем спасибо, исправил.
 
Ответить с цитированием

  #4444  
Старый 09.12.2009, 17:03
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
С нами: 10008797

Репутация: 398
По умолчанию

кто в курсе как проактивно защитить файл от удаления в системе windows ?

типа LockFileEx, ZwLockFileEx, NtLockFileEx
 
Ответить с цитированием

  #4445  
Старый 09.12.2009, 17:13
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
С нами: 9379631

Репутация: 142
По умолчанию

Цитата:
кто в курсе как проактивно защитить файл от удаления в системе windows ? типа LockFileEx, ZwLockFileEx, NtLockFileEx
Удаление файла сводиться к отсылке IRP_MJ_SET_INFORMATION c FileInformationClass = FileDispositionInformation.
Вывод: писать драйвер фильтр фс и отклонять такие irp для нужного файла.

Последний раз редактировалось _antony; 09.12.2009 в 17:15..
 
Ответить с цитированием

  #4446  
Старый 09.12.2009, 19:42
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами: 8817310

Репутация: 108
По умолчанию

Подскажите, как в Visual Studio 2008 в PictureControl программно загрузить картинку JPG из файла, на API.
 
Ответить с цитированием

  #4447  
Старый 09.12.2009, 21:28
kopBaJIoJI
Новичок
Регистрация: 10.03.2009
Сообщений: 10
С нами: 9037993

Репутация: 0
По умолчанию

Подскажите функцию, которая при закрытии формы выдавала бы информационное сообщение с кнопками Да, Нет, Отмена. При нажатии да - открывается окно для сохранения файла, при нажатии нет - программа закрывается, при отмене - остаётся всё как было.
 
Ответить с цитированием

  #4448  
Старый 09.12.2009, 21:43
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами: 9989619

Репутация: 106
По умолчанию

Цитата:
Сообщение от kopBaJIoJI  
Подскажите функцию, которая при закрытии формы выдавала бы информационное сообщение с кнопками Да, Нет, Отмена. При нажатии да - открывается окно для сохранения файла, при нажатии нет - программа закрывается, при отмене - остаётся всё как было.
необходимо перехватить событие закрытие формы и вызвать свою функцию. В Qt допустим достаточно переопределить функцию закрытия формы в классе пример отлично разбирается в книге Qt 4. Программирование GUI на С++. В WinAPI примерно так:
PHP код:
#include <windows.h>

// Объявления функций
BOOL RegClass(WNDPROCLPCTSTRUINT);
LRESULT CALLBACK WndProc(HWND,UINTWPARAMLPARAM); // оконные процедуры

HINSTANCE hInstance;
char szMainClass[] = "MainClass";
char szTitle[] = "Пример 1.2";

// Главная функция приложения
int WINAPI WinMain(HINSTANCE hInstHINSTANCE hPrevInst,
                
LPSTR IpszCmdLineint nCmdShow)
{
    
MSG msg;
    
hInstance hInst;
    
HWND hwnd;
    if (!
RegClass(WndProcszMainClassCOLOR_DESKTOP))
        return 
FALSE;
    
// До создания окна узнаём габариты экрана в пикселях
    
int w GetSystemMetrics(SM_CXSCREEN) - 1// Ширина
    
int h GetSystemMetrics(SM_CYSCREEN) - 1// Высота 
    
hwnd CreateWindow(szMainClassszTitle,
        
WS_POPUPWINDOW WS_CAPTION |
        
WS_MINIMIZEBOX WS_VISIBLE,
        
00wh00hInstanceNULL);
    if (!
hwnd) return FALSE;
    while (
GetMessage(&msg000)) DispatchMessage(&msg);
    return 
msg.wParam;
}

BOOL RegClass(WNDPROC ProcLPCTSTR szNameUINT brBackground)
{
    
WNDCLASS wc;
    
wc.style wc.cbClsExtra wc.cbWndExtra 0;
    
wc.lpfnWndProc Proc;
    
wc.hInstance hInstance;
    
wc.hIcon LoadIcon(NULLIDI_APPLICATION);
    
wc.hCursor LoadCursor(NULLIDC_ARROW);
    
wc.hbrBackground = (HBRUSH)(brBackground 1);
    
wc.lpszMenuName = (LPCTSTRNULL;
    
wc.lpszClassName szName;
    return (
RegisterClass(&wc) != 0);
}

LRESULT CALLBACK WndProc(HWND hwndUINT msg,
                         
WPARAM wParamLPARAM lParam)
{
    switch (
msg)
    {
    case 
WM_DESTROY:
        {
        
PostQuitMessage(0);
        return 
0;
        }
    case 
WM_CLOSE:
        {
        
// ТУТ ТВОЙ МЕСАДЖ БОКС И ЕГО ОБРАБОТКА
        
return 0;
        }
    }
    return 
DefWindowProc(hwndmsgwParamlParam);

 
Ответить с цитированием

  #4449  
Старый 09.12.2009, 21:46
kopBaJIoJI
Новичок
Регистрация: 10.03.2009
Сообщений: 10
С нами: 9037993

Репутация: 0
По умолчанию

Благодарю!
 
Ответить с цитированием

  #4450  
Старый 09.12.2009, 21:58
becensed
Новичок
Регистрация: 02.12.2009
Сообщений: 16
С нами: 8653839

Репутация: 21
По умолчанию

MessageBox не подходит?
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.