![]() |
|
||||
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Você está aqui: C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
||||
Usando a função tmpfile() para criar arquivos temporários em C++Quantidade de visualizações: 7076 vezes |
||||
Em algumas situações precisamos criar arquivos temporários em C++, ou seja, criar arquivos durante a execução do programa e excluí-los automaticamente quando o programa for fechado. Para isso podemos usar a função tmpfile(), presente no header <cstdio>. Veja sua assinatura: FILE *tmpfile(void); Esta função não recebe nenhum parâmetro e retorna um ponteiro para um fluxo de arquivo do tipo FILE. O arquivo temporário é do tipo binário e aberto para update (modo wb+). A implementação C/C++ nos garante que o nome do arquivo temporário será diferente de todos os arquivos já existentes no sistema. Além disso, o arquivo temporário criado é automaticamente excluído quando o fluxo de arquivo é fechado (geralmente usando fclose()) ou quando o programa é fechado de forma normal. Veja um trecho de código no qual usamos a função tmpfile() para criar um arquivo temporário, escrever no mesmo e obter o conteúdo de volta:
|
||||
![]() |
||||
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
||||
Exercício Resolvido de C++ - Como testar se um ano é bissexto em C++ - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 393 vezes |
||||
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa C++ que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando C++:
| ||||
C++ ::: Dicas & Truques ::: Recursão (Recursividade) |
||||
Como calcular potência em C++ usando uma função recursivaQuantidade de visualizações: 19304 vezes |
||||
Nesta dica mostrarei como podemos efetuar cálculo de potência em C++ usando recursividade, ou seja, uma função que chama a si mesma repetidamente, até que o caso base (condição de parada) seja alcançado. Veja que informaremos a base e o expoente e a função nos retornará a potência da base informada. Veja o código C++ completo para o exemplo:
Ao executar este código C++ nós teremos o seguinte resultado: 3 elevado a 4 = 81 | ||||
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
||||||||||||||||
Como usar ponteiros em C++ - Apostila de C++ para iniciantesQuantidade de visualizações: 8032 vezes |
||||||||||||||||
Antes de pensarmos em ponteiros, é importante nos lembrarmos de alguns aspectos referentes à variáveis. Dependendo do seu conhecimento de programação, você deve saber que variáveis possuem nomes que as identificam durante a execução do programa. Você deve saber também que uma variável armazena um valor (que pode ser fixo, no caso de uma constante, ou pode mudar durante a execução de seus códigos). O que poucos programadores se lembram é que uma variável possui um endereço, e que o nome da variável não é nada mais que um apelido para a localização deste endereço. Desta forma, um ponteiro não é nada mais que um tipo especial de variável que armazena o endereço de outra. Veja um exemplo:
Neste código nós temos a declaração e definição de duas variáveis:
A primeira variável é uma variável do tipo int e a segunda é um ponteiro para uma variável do tipo int. Veja que devemos sempre usar "*" antes do nome de um ponteiro em sua declaração. O símbolo "&" serve para indicar que estamos acessando o endereço de uma variável e não o seu conteúdo. O resultado destas duas linhas é que agora temos um ponteiro que nos permite acessar e manipular a variável valor. Observe a linha:
Aqui nós estamos acessando o valor da variável apontada por p. Veja o uso do símbolo "*" para acessar o valor da variável. Isso é chamado de desreferenciamento de ponteiros. Pareceu complicado? Veja uma linha de código que altera indiretamente o valor da variável valor para 30:
Ponteiros são ferramentas muito importantes na programação em C++. No entanto, é preciso ter muito cuidado ao lidar com eles. A primeira coisa a ter em mente é que um ponteiro não está apontando para nenhum lugar até que atribuimos a ele o endereço de uma outra variável. E é aí que mora o perigo. Um programa entra em colapso absoluto se tentarmos acessar um ponteiro que aponta para um local de memória que já foi liberado novamente ao sistema. No caso menos grave, estaremos tentando acessar locais de memória inválidos ou reservados a outros programas ou tarefas do sistema operacional. Isso me lembra os velhos tempos da tela azul de morte. | ||||||||||||||||
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
JavaScript - JavaScript Avançado - Como escrever uma função JavaScript que aceita um número variável de argumentos AutoCAD Civil 3D .NET C# - Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# API Java - Como testar se uma determinada chave está contida no HashMap do Java usando o método containsKey() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |