Кто-нибудь знает, где хороших окна постоянного список жизнь

голоса
-2

Я пытаюсь установить недопустимое значение -1 .. Но я не люблю магические числа .. Кто-нибудь знает, где можно найти множество общих констант. Я работаю в VS6 (МОГ).

Я пытаюсь прочитать файл из всей сети, и мне нужно плохое значение общего размера файла, так что я знаю, если я получил действительную информацию о нем .. 0 действительного размере, так что я не могу использовать.

Harper Shelby HIT THE яблочко .. Просто немного большим пальцем. Он упомянул постоянные win32 .. это именно то, что я думал о .. Теперь найти ссылку :)

Задан 09/12/2008 в 22:41
источник пользователем
На других языках...                            


8 ответов

голоса
2

Если -1 является недопустимым значением для возвращаемого значения в вашей системе, вы должны определить его внутренне:

const int INVALID_FOO = -1

если совместимость С не требуется, в случае чего

#define INVALID_FOO -1

было бы предпочтительным. Если это стандартный MFC или Windows, ресурс, использовать INVALID_HANDLE или один из других Win32 определенных констант.

Ответил 09/12/2008 в 22:46
источник пользователем

голоса
2

#define BAD_VALUE -1

EDIT: оригинальный вопрос не имел никакого контекста. Пересмотренный вопрос означает , что вы хотите недопустимый размер файла и, таким образом , ищете постоянные win32. Посмотрите на windows.h я думаю , что константа вы ищете может быть в windows.h или один из его суб-включает в себя. Grep ваши окна включают в себя каталог ;-)

Ответил 09/12/2008 в 22:46
источник пользователем

голоса
1

Если вы хотите использовать константы, используемые WinApi, проверьте файлы WinError.h, WINUSER.H и WinNT.h.

Ответил 12/08/2010 в 13:21
источник пользователем

голоса
1

Первым делом вы должны использовать беззнаковое Int для размера файла, как размер файла не бывает отрицательным. Теперь неверный размер файла, как правило, максимальный ИНТ так и в случае с использованием 32-битовым беззнаковым INT это будет 0xFFFFFFFF

т.е.

const unsigned int INVALID_FILESIZE = 0xFFFFFFFF;

Кроме того, если это на окнах, windows.h определяет недопустимый размер файла все готово (INVALID_FILE_SIZE)

Ответил 10/12/2008 в 05:27
источник пользователем

голоса
1

В VS, создайте новый проект окна консольного приложения. Зайдите в настройки проекта и включите поддержку просмотра. Создайте файл C ++ и добавьте его в проект. Тип:

#include <windows.h>
void main(void) {}

в файл. Собирать. Теперь введите INVALID_FILE_SIZE в файл. Щелкните правой кнопкой мыши на нем и определение Гото из INVALID_FILE_SIZE. VS будет открывать один из многих окон файлов заголовков, полные определенных значений. Наслаждаться.

Ответил 10/12/2008 в 01:19
источник пользователем

голоса
1

Вы хотите использовать свой собственный номер магического -1 замаскированный как константа Windows. Это вводит в заблуждение.

Предположим, что я знаю, что INVALID_HANDLE 0. Можно ли инициализировать мои указатели с INVALID_HANDLE?

char *myMessage = INVALID_HANDLE;

Как этот удар вы?

Ответил 10/12/2008 в 00:46
источник пользователем

голоса
-1
If bytes_read < 0
    // error
EndIf
Ответил 10/12/2008 в 00:53
источник пользователем

голоса
-1

Это обычно принято 0 и 1 (положительный и отрицательный) в порядке, чтобы использовать непосредственно.

На самом деле, это, вероятно, сделает вас код еще более запутанным, чтобы использовать переменную.

Обновление: Хорошо, вы обновили свой вопрос после того, как я написал свой ответ. Если вы используете «-1» в арифметической образом, то просто «-1» отлично. Если вы возвращаете код ошибки (и код просто бывает -1), то вы должны использовать константный.

 const int INVALID_VALUE = -1;
Ответил 09/12/2008 в 22:47
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more