É possível, no ambiente Windows, compilar códigos C e C++ como em Linux, na linha de comando (coisa de macho). A solução é MinGW32 - Minimalist Gnu for Windows - que é a versão para windows do GNU Compiler Collection (GCC para os íntimos). Funciona igual em Linux, e serve como uma boa alternativa pro Dev C++.
Tutorial básico de instalação.
Mostrando postagens com marcador C. Mostrar todas as postagens
Mostrando postagens com marcador C. Mostrar todas as postagens
quinta-feira, 13 de março de 2008
sábado, 1 de março de 2008
Things to avoid in C/C++
Achei uns artigos na net sobre certas funções e alguns hábitos de programação em C que na verdade são um problema para o programador. Na minha opinião, merecem pelo menos uma olhada:
Things to Avoid in C/C++, Part 1 - gets()
Things to Avoid in C/C++, Part 2 - fflush(stdin)
Things to Avoid in C/C++, Part 3 - feof()
Things to Avoid in C/C++, Part 4 - system("pause")
Things to Avoid in C/C++, Part 5 - scanf()
Things to Avoid in C/C++, Part 6 - scanf() / character
Things to Avoid in C/C++, Part 7 - scanf() / string
Things to Avoid in C/C++, Part 8 - scanf() / number
Things to Avoid in C/C++, Part 9 - scanf() / epílogo
Things to Avoid in C/C++, Part 10 - void main()
Things to Avoid in C/C++, Part 1 - gets()
Things to Avoid in C/C++, Part 2 - fflush(stdin)
Things to Avoid in C/C++, Part 3 - feof()
Things to Avoid in C/C++, Part 4 - system("pause")
Things to Avoid in C/C++, Part 5 - scanf()
Things to Avoid in C/C++, Part 6 - scanf() / character
Things to Avoid in C/C++, Part 7 - scanf() / string
Things to Avoid in C/C++, Part 8 - scanf() / number
Things to Avoid in C/C++, Part 9 - scanf() / epílogo
Things to Avoid in C/C++, Part 10 - void main()
String Tokens
Tokens são uma ótima forma de se trabalhar com strings, formatadas ou não. A função strtok() é a solução em C para tokens. A sintaxe é a seguinte:
Ou seja, retorna um ponteiro para char, que pode ser interpretada também como uma string; e os seus parâmetros são dois ponteiros para char. Ela é usada da seguinte forma:
1. A primeira chamada para strtok quebra o primeiro parâmetro (str1) em tokens, delimitados pelo segundo parâmetro (str2).
2. Cada chamada subseqüente retorna um token, mas para isso o primeiro parâmetro tem que ser NULL.
Exemplo 1 - Neste exemplo, a saída será
Exemplo 2 - Este exemplo é igual ao de cima, só que o email é lido do usuário.
Exemplo 3 - Este é o segundo exemplo modificado. Esse código contém um erro relativamente comum quando se trabalha com strings. O gets() não aceita ponteiros para char, como foi declarado na linha 5. O jeito certo é declarar um array, como no segundo exemplo.
Em C/C++, é basicamente isso. Só não é mais simples que Java :D
char * strtok(char * str1, const char * str2)Ou seja, retorna um ponteiro para char, que pode ser interpretada também como uma string; e os seus parâmetros são dois ponteiros para char. Ela é usada da seguinte forma:
1. A primeira chamada para strtok quebra o primeiro parâmetro (str1) em tokens, delimitados pelo segundo parâmetro (str2).
2. Cada chamada subseqüente retorna um token, mas para isso o primeiro parâmetro tem que ser NULL.
Exemplo 1 - Neste exemplo, a saída será
seu
email
seu
dominio
com
brExemplo 2 - Este exemplo é igual ao de cima, só que o email é lido do usuário.
Exemplo 3 - Este é o segundo exemplo modificado. Esse código contém um erro relativamente comum quando se trabalha com strings. O gets() não aceita ponteiros para char, como foi declarado na linha 5. O jeito certo é declarar um array, como no segundo exemplo.
Em C/C++, é basicamente isso. Só não é mais simples que Java :D
Assinar:
Postagens (Atom)