Ir para conteúdo
Fórum Script Brasil

Durub

Moderadores
  • Total de itens

    788
  • Registro em

  • Última visita

Tudo que Durub postou

  1. Use strlen, da biblioteca string.h. Exemplo: #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { char a[100]; int i; gets(a); i = strlen(a); printf("A string \"%s\" que voce forneceu possui %d caracteres\n", i); return 0; } Abraços.
  2. Durub

    Problemas com Hash em C

    RFC's: MD5: http://www.faqs.org/rfcs/rfc1321.html SHA-1: http://www.faqs.org/rfcs/rfc3174.html Abraços.
  3. É praticamente isso. Só que você tem que se lembrar que o argc, quando não tem ennhum argumento é um, e o argv[0] é o nome do programa. Exemplo de chamada de programa, passado pro argv: "programa.exe" argc = 1 argv[0] = programa "programa texto.txt" argc = 2 argv[0] = programa argv[1] = texto.txt "programa texto.txt 10" argc = 3 argv[0] = programa argv[1] = texto.txt argv[2] = 10 Lembre que isso são strings, então para converter para int você deve utilizar alguma função como a atoi, da stdlib. Abraços.
  4. Durub

    Comando return em C++

    E não funciona. Tente colocar um printf após o return, para você ver que ele. na verdade, não é executado. Abraços.
  5. Durub

    Dúvida ALLEGRO

    Isso é problema com double buffering. Mas o que talvez possa resolver é desenhar o mouse por último. Troque: while(!key[KEY_ESC]) { draw_sprite(screen, mouse, mouse_x, mouse_y); draw_sprite(screen, img, 0, 0); }; Para: while(!key[KEY_ESC]) { draw_sprite(screen, img, 0, 0); draw_sprite(screen, mouse, mouse_x, mouse_y); } Abraços.
  6. Durub

    Somar data

    Depende de como a informação da data está organizada. Se está em um long, contando os segundos a partir de 1970, se está em uma struct mais intuitiva etc. Abraços.
  7. Durub

    Duvida em Função Alterar

    Você está lendo no Veic.xxxx, você tem que ler no Dados.xxxx, devido a estrutura atual do código. Só mudar nos scanf. Abraços.
  8. Durub

    String em C++

    Faça um array de 112 caracteres, para aguentar os 15 caracteres de cada nome e o NULL. (15 * 7 + 7) Depois é só usar fgets para ler da entrada padrão. #include <stdio.h> int main(void) { char nomes[112]; fgets(nomes, 15, stdin); /* primeiro nome */ fgets(nomes + 16, 15, stdin); /* segundo nome */ fgets(nomes + 32, 15, stdin); /* terceiro nome */ return 0; } É mais ou menos isso. Note que há diversas outras coisas que você precisa fazer, como retirar o '\n' que o fgets coloca, arrumar a soma do pointer caso estiver errada etc. É só um exemplo. Abraços.
  9. data é somente UM caractere. A função StringToFloat espera uma string. Você pode fazer: char data = recv_char(); char convert[2]; float entr2; convert[0] = data; convert[1] = 0x00; entr2 = StringToFloat(&convert); Abraços.
  10. É possível utilizando-se de long jumps. http://www.cplusplus.com/reference/clibrary/csetjmp/ Você vai ter que passar as informações do calling environment (jmp_buf) por aí. Você pode tanto passar como parâmetro na função ou utilizar-se de variáveis globais. Exemplo: #include <stdio.h> #include <setjmp.h> void f(jmp_buf *env); int main(void) { jmp_buf env; setjmp(env); /* "seta" o ponto de torno do longjmp */ f(&env); return 0; /* note que nunca, em uma execução normal, o código chegará até aqui */ } void f(jmp_buf *env) { printf("Teste\n"); longjmp(env, 0); /* vai para o local aonde foi chamado o setjmp */ } Abraços.
  11. //Declaracao dos prototipos das operacoes void Exibir_Anos (struct no *, int); Está diferente de sua definição. //Exibe na tela os dados de cada elemento da lista l entre um intervalo de anos void Exibir_Anos(struct no *l, int anoInicial, anoFinal) O protótipo deveria ser: void Exibir_Anos(struct no *l, int anoInicial, anoFinal); Mas provavelmente nem é necessário a utilização de protótipos neste caso, talvez você possa remover. Abraços.
  12. Ele muda o estilo de linkagem da run-time library, nesse caso, é linkada estaticamente, então ela é embutida no executável, assim não precisa de dll's externas no computador. (teoricamente, e SÓ as run-times do Visual Studio) Abraços.
  13. Movido: C, C++ → Outras Linguagens de Programação Achei que deveria ser movido para GNU/Linux, mas acho que lá não se trata de bash. Abraços.
  14. Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library Mude pra /MT. Abraços.
  15. http://pt.wikipedia.org/wiki/ODBC Depende de qual é o servidor de banco de dados. Se for MySQL, você precisa de uma lib que mexa com o MySQL, ou um driver para ODBC, se preferir. (leia o artigo da Wikipédia que você entende) Se for MSSQL, já é outra ferramenta (que provavelmente só irá rodar no windows) e etc. Infelizmente, acho que não vem nenhuma biblioteca pronta no C/C++, só no C++.NET (Managed C++) no Visual Studio, que herda a biblioteca .NET. Abraços.
  16. Movendo: C/C++ → .NET Esqueci de colocar o resolvido antes de mover. Abraços.
  17. Durub

    Strtok =@

    Declarando a variável kills. Se você não souber fazer isto, acho melhor estudar um pouco de Pawn antes de continuar.. A wiki do SA-MP (se ela ainda existir) tem um bom conteúdo. Abraços.
  18. Você não verifica a condição do switch assim.. Faça: Palavra = getchar(); switch (Palavra) { case 'I': printf("5 "); Palavra = getchar(); switch (Palavra) { case '.': printf("V"); break; default: printf("NS"); break; } break; // break do case'I'. case 'C': printf("6 "); ........ Abraços.
  19. Durub

    Strtok =@

    O erro diz que a variável "kills" não existe. Abraços.
  20. O certo seria usar fgets. fgets é quase a mesma coisa que gets, só que mais seguro. Para receber da stream principal (stdin): #include <stdio.h> int main(void) { char string[64]; fgets(string, sizeof(string), stdin); printf("%s", string); return 0; } Note que fgets coloca o "\n" (new line/line feed) na string. Abraços.
  21. Durub

    Strtok =@

    Você não está programando em Pawno nem em C++, você está programando em Pawn. Pawno é só o nome da IDE que vem com o SDK do SA-MP. Qual é a linha 131? O problema está nela, e não nessa parte do código que você mostrou. Abraços.
  22. Você não pode fazer isso direto. Use sprintf e depois use a string no fopen. Exemplo: #include <stdio.h> int main(void) { char narq[60]; FILE* arq; sprintf(narq, "%s.txt", "nome"); arq = fopen(narq, "r+"); fclose(arq); return 0; } Abraços.
  23. Você está escrevendo em memória que não é sua. #include <stdio.h> struct exemplo { int array[2]; int z; }; int main(void) { struct exemplo var; var.array[0] = 20; var.array[1] = 30; var.array[2] = 40; /* note que aqui você está escrevendo em array[2], que é uma posição que "não existe" no array */ printf("%d - %d - %d\n", var.array[0], var.array[1], var.z); return 0; } É o mesmo princípio, só que você está escrevendo em memória de outro programa. Abraços.
  24. Durub

    Livros

    A maioria diz que ler no computador é ruim, achava que era por causa do monitor. Pensando melhor, acho que realmente é o problema de concentração. Eu também não consigo me concentrar direito, começo a ler, paro e vou ler algum fórum, fazer alguma outra coisa.. Infelizmente, não tenho livros a recomendar, vim só fazer este comentário mesmo. Geralmente se acha um material melhor pesquisando alguma coisa em específico por aí mesmo, já que é difícil o livro possuir uma abordagem muito branda. Abraços.
  25. Teoricamente, isso seria o mesmo que escrever char entrada[0] ou char entrada[1]. (não sei qual é ao certo) Não existe esse tipo de alocação dinâmica em C (aonde tal variável se ajuste ao tamanho "automaticamente"), se estiver usando C++, pode usar a STL. (mas acho que mesmo assim não há como) O certo seria declarar um array para guardar um número grande o bastante de caracteres. Geralmente é usado 1024. (que normalmente é o tamanho de uma linha) Logo, use: char entrada[1024]; Abraços.
×
×
  • Criar Novo...