| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/10/2010 19:41:07
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Vocês leem como array de char e depois passam para um array de int, aplicando o and em cada posição?
E, se for escrever no arquivo, passar novamente para um array de char?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/10/2010 23:09:45
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Schuenemann wrote:Vocês leem como array de char e depois passam para um array de int, aplicando o and em cada posição?
E, se for escrever no arquivo, passar novamente para um array de char?
Não precisa fazer isso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2010 07:18:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Na verdade, na maior parte das vezes, tratamos diretamente com os bits. O valor numérico, quando você trabalha com arquivos e sockets, costuma a ser irrelevante. No máximo convertíamos para inteiro em logs.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2010 13:53:09
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Então, qual sugestão?
No meu caso, eu trabalho com os inteiros mesmo.
Tenho que abrir o arquivo e trocar um byte específico de 3 para 5, por exemplo. Ou vários contíguos.
Existe alguma contra-indicação nisso?
Pelo que testei, não dá o problema citado com o cast (ao menos nesse compilador).
Acho que não fica legal (mesmo que tenha desempenho melhor) eu manter uma string e aplicar o and em todo código que acesse o conteúdo da string.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2011 14:50:27
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Como se converte um número para uma string hexadecimal (ou outra base qualquer) ?
Vi que a maneira padrão é usando sprintf(string_destino, formato, numero), mas como eu posso saber antecipadamente qual o tamanho que a string terá? Exemplo:
Imprime "FF", mas só funciona com o resize() (e nesse caso eu já sabia que teria tamanho 2 saída).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2011 19:26:40
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
O sprintf é usado em C. Em C++ geralmente usa-se o stringstream (ou as funções de string da boost).
Veja:
http://www.cplusplus.com/reference/iostream/manipulators/hex/
Mas, basicamente:
O stringstream, por ser um stream, tem a mesma sintaxe do cout.
This message was edited 1 time. Last update was at 08/03/2011 19:35:18
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2011 21:30:25
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Valeu.
Vou considerar o uso da Boost. Parece simplificar muita coisa em relação à API padrão.
Edit: só depois notei que você já tinha dado o exemplo exato...
This message was edited 1 time. Last update was at 15/03/2011 17:49:38
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2011 19:03:14
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Passei a ter um problema "estranho".
O erro é:
multiple definition of `State::State(std::basic_string<char, std::char_traits<char>, std::allocator<char> >  '
Vou tentar colocar de forma simplificada as classes que tenho. E vou tirar os includes da lib padrão pra diminuir o código.
Classe Ata:
classe State:
classe Helper:
Segundo a busca que fiz, quando você declara uma variável num arquivo header, cada arquivo-fonte que incluir aquele header terá uma cópia separada da variável.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2011 22:09:48
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Não sou expert em C++, mas vc tem certeza disso?
Afinal, para que serve então o seguinte código do preprocessador?
[]'s
This message was edited 1 time. Last update was at 09/03/2011 22:12:44
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2011 22:15:03
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Vc está implementando os construtores dentro do header? É normal fazer isso? O ideal não é implementar a classe em um arquivo .cpp?
Se você inserí-los dentro do bloco de compilação condicional, acredito que o erro vá desaparecer, pois eles serão implementados apenas uma vez.
[]'s
Ops... Agora que vi o comentário no código.
Pq vc ta dando um include no State.cpp?
This message was edited 2 times. Last update was at 09/03/2011 22:16:38
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2011 22:41:36
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Acho que o erro é aquele include mesmo. Eu acabei incluindo aquilo porque dava erro no construtor de Ata, mas agora estou percebendo que só acontece o erro quando faço build no outro projeto.
Amanhã eu vou verificar as dependências entre os projetos, acho que o erro é meu mesmo.
Obrigado.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2011 17:25:08
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Eu confirmo que era aquilo mesmo. Na minha ignorância em resolver o problema, acabei dando include num .cpp.
Pra resolver no Code::Blocks, uma forma é clicar no segundo projeto, ir em Add files e adicionar os .h e .cpp.
Adicionar em project dependencies não resolve. Parece que ali só vale para a compilação, não pro linking.
Tava acostumado com Eclipse/Netbeans.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/03/2011 11:58:42
|
Schuenemann
GUJ Ranger
Membro desde: 13/01/2005 12:31:27
Mensagens: 854
Offline
|
Vou rever o que escrevi.
This message was edited 1 time. Last update was at 27/03/2011 13:06:52
|
|
|
 |
|
|