Você está aqui: C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em C++ usando a função rename()Quantidade de visualizações: 11693 vezes |
Em algumas situações nossos códigos C++ precisam renomear arquivos. Isso pode ser feito com o auxílio da função rename() ou _rename(), disponível no header io.h or stdio.h (trazido da linguagem C). Veja a assinatura desta função:int rename(const char *oldname, const char *newname); a) EINVAL - Invalid argument - Os nomes dos arquivos contém caracteres inválidos; b) ENOENT - No such file or directory - O caminho do arquivo é inválido; c) EACCESS - Acesso negado - Algum outro programa está usando este arquivo e mantém controle sobre o mesmo. Veja um trecho de código C++ no qual renomeamos um arquivo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos renomear este arquivo char arq_antigo[] = "C:\\Dev-Cpp\\arquivo.txt"; char arq_novo[] = "C:\\Dev-Cpp\\arquivo2.txt"; // vamos testar se o arquivo foi renomeado com sucesso if(rename(arq_antigo, arq_novo) != 0){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Arquivo renomeado com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É possível usar a versão Unicode de rename() ou _rename(). O método _wrename, também presente em io.h or stdio.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos renomear este arquivo wchar_t arq_antigo[] = L"C:\\Dev-Cpp\\arquivo.txt"; wchar_t arq_novo[] = L"C:\\Dev-Cpp\\arquivo2.txt"; // vamos testar se o arquivo foi renomeado com sucesso if(_wrename(arq_antigo, arq_novo) != 0){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Arquivo renomeado com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em C++ usando as funções begin(), end() e reverse()Quantidade de visualizações: 13276 vezes |
Em várias situações nós precisamos inverter a ordem dos caracteres de uma palavra, frase ou texto em C++. Para isso nós podemos usar uma combinação das funções begin(), end() e reverse() da biblioteca padrão do C++. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> #include <algorithm> using namespace std; // função principal do programa C++ int main(int argc, char *argv[]){ // vamos declarar um objeto da classe string string frase = "Gosto de programar em C++"; // vamos mostrar a string original cout << "String original: " << frase << endl; // agora vamos usar a função reverse() para inverter o // conteúdo da string reverse(frase.begin(), frase.end()); // e mostramos o resultado cout << "String invertida: " << frase << endl;; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código C++ nós teremos o seguinte resultado: String original: Gosto de programar em C++ String invertida: ++C me ramargorp ed otsoG |
C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em C++Quantidade de visualizações: 963 vezes |
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C++. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <math.h> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ float c = 36.056; // medida da hipotenusa float b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da cateto oposto float a = sqrt(pow(c, 2) - pow(b, 2)); // e mostramos o resultado cout << "A medida do cateto oposto é: " << a << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A medida do cateto oposto é: 20.0009 Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada. |
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Vetores e matrizes em C++ - Como passar vetores e matrizes para as suas funções C++Quantidade de visualizações: 12077 vezes |
Muitas vezes precisamos passar um vetor ou uma matriz C++ para nossas funções. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de uma matriz para uma função é feita por referência, ou seja, qualquer alteração nos valores da matriz dentro do método será refletida na matriz original:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; // função usada para exibir os valores // da matriz void exibir_matriz(int matriz[], int quant) { for(int i = 0; i < quant; i++){ cout << matriz[i] << endl; } } int main(int argc, char *argv[]) { // cria uma matriz com 5 inteiros int valores[] = {54, 3, 89, 6, 1}; // passa a matriz para a função exibir_matriz() // veja que temos que enviar também a quantidade // de elementos exibir_matriz(valores, 5); system("PAUSE"); // pausa o programa return 0; } Ao executar este código C++ nós teremos o seguinte resultado: 54 3 89 6 1 |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() 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 |
Linguagens Mais Populares |
1º lugar: Java |