Alguém sabe onde um bom janelas constantes da lista vidas

votos
-2

Estou tentando definir um valor inválido para -1 .. Mas eu não gosto de números mágicos .. Alguém sabe onde encontrar um conjunto de constantes comuns. Eu estou trabalhando em VS6 (ish).

Eu estou tentando ler um arquivo de toda a rede, e eu preciso de uma má valor para o tamanho total do arquivo, então eu sei se eu tenho informações válidas sobre ele .. 0 é um tamanho válido, então não posso usar isso.

Harper Shelby bateu o prego NA CABEÇA .. Apenas um pouco polegar. Ele mencionou as constantes win32 .. que é exatamente o que eu estava pensando .. Agora, para encontrar um link :)

Publicado 09/12/2008 em 22:41
fonte usuário
Em outras línguas...                            


8 respostas

votos
2

Se -1 é um valor inválido para um valor de retorno em seu sistema, você deve defini-lo internamente:

const int INVALID_FOO = -1

a menos que é necessária compatibilidade C, em cujo caso

#define INVALID_FOO -1

seria preferido. Se é um recurso MFC ou Windows padrão, use INVALID_HANDLE ou uma das outras constantes Win32-definidos.

Respondeu 09/12/2008 em 22:46
fonte usuário

votos
2

#define BAD_VALUE -1

EDIT: a pergunta original não tinha contexto. A questão revista indica que você quer um tamanho de arquivo inválido e são, portanto, olhando para as constantes win32. Olhe para windows.h eu acho que a constante que você procura pode estar em windows.h ou um dos seus sub-inclui. grep suas janelas incluem diretório ;-)

Respondeu 09/12/2008 em 22:46
fonte usuário

votos
1

Se você quiser usar as constantes usadas pelo Winapi, confira os arquivos Winerror.h, WINUSER.H e WINNT.H.

Respondeu 12/08/2010 em 13:21
fonte usuário

votos
1

A primeira coisa é que você deve estar usando um int não assinado para o tamanho do arquivo como um tamanho de arquivo nunca é negativo. Agora um tamanho de arquivo inválido é normalmente o int max assim, no caso de usar um 32 bit unsigned int seria 0xFFFFFFFF

ou seja

const unsigned int INVALID_FILESIZE = 0xFFFFFFFF;

Além disso, se esta é em janelas, windows.h define o tamanho do arquivo inválido tudo pronto (invalid_file_size)

Respondeu 10/12/2008 em 05:27
fonte usuário

votos
1

Na VS, Criar um novo projeto janelas aplicativo console. Vá para as configurações do projeto e ativar o suporte de navegação. Crie um arquivo C ++ e adicioná-lo ao projeto. Tipo:

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

para o arquivo. Compilá-lo. Agora digite invalid_file_size para o arquivo. clique direito sobre ele e definição Goto de invalid_file_size. VS irá abrir uma das muitas janelas cabeçalho arquivos cheios de valores definidos. Apreciar.

Respondeu 10/12/2008 em 01:19
fonte usuário

votos
1

Você quer usar seu próprio número mágico -1 disfarçado como uma constante do Windows. Isso é muito enganador.

Suponha que eu descobri que INVALID_HANDLE é 0. É OK para inicializar meus ponteiros com INVALID_HANDLE?

char *myMessage = INVALID_HANDLE;

Como é que esta greve é?

Respondeu 10/12/2008 em 00:46
fonte usuário

votos
-1
If bytes_read < 0
    // error
EndIf
Respondeu 10/12/2008 em 00:53
fonte usuário

votos
-1

É geralmente aceite a 0 e 1 (positivo e negativo) são OK para usar diretamente.

Na verdade, ele provavelmente vai fazer você código ainda mais confuso para usar uma variável em vez.

Update: OK, você atualizou sua pergunta depois que eu escrevi a minha resposta. Se você estiver usando "-1" de forma aritmética, então é só "-1" está bem. Se você estiver retornando um código de erro (e o código só acontece de ser -1), então você deve usar um const.

 const int INVALID_VALUE = -1;
Respondeu 09/12/2008 em 22:47
fonte usuário

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