Você está aqui: C++ ::: Win32 API (Windows API) ::: Strings e Caracteres |
Como converter caracteres individuais para letras maiúsculas usando a função CharUpper() da API do Windows a partir de seus códigos C++Quantidade de visualizações: 9498 vezes |
Pode usar a função CharUpper() da API do Windows para converter um caractere para seu correspondente em letra maiúscula. Veja o protótipo da função:LPTSTR CharUpper( LPTSTR lpsz ); Veja um exemplo no qual usamos esta função para converter uma letra minúscula em maiúscula: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ CHAR letra = 'a'; // vamos converter para letra maiúscula CharUpper(&letra); // vamos exibir o resultado cout << letra << endl; system("PAUSE"); return EXIT_SUCCESS; } Note que aqui nós fornecemos um ponteiro para o caractere que queremos transformar. Isso resulta em uma conversão sendo efetuada diretamente no caractere para o qual o ponteiro está apontando no momento. Podemos também obter o resultado da conversão em um outro ponteiro e usá-lo posteriormente. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ CHAR letra = 'a'; // vamos converter para letra maiúscula CHAR *resultado = CharUpper(&letra); // vamos exibir o resultado cout << *resultado << endl; system("PAUSE"); return EXIT_SUCCESS; } |
Link para compartilhar na Internet ou com seus amigos: |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em C++Quantidade de visualizações: 708 vezes |
Muitas vezes precisamos saber se um determinado número é par ou ímpar. Isso pode ser feito em C++ usando-se o operador de módulo "%", que retorna o resto de uma divisão por inteiros. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // variáveis usadas para resolver o problema int num; // vamos ler um número inteiro cout << "Informe um valor inteiro: "; cin >> num; // vamos testar se o número é par if(num % 2 == 0){ cout << "Você informou um número par" << endl; } // é ímpar else{ cout << "Você informou um número ímpar" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este programa C++ nós teremos o seguinte resultado: Informe um valor inteiro: 8 Você informou um numero par |
C++ ::: Win32 API (Windows API) ::: Processos |
Como usar a função EnumProcesses() da WinAPI em seus códigos C++ para obter os identificadores de cada processo ativo no WindowsQuantidade de visualizações: 8300 vezes |
A função EnumProcesses() pode ser usada quando queremos obter os ids de todos os processos sendo executados no momento no Windows. Veja o protótipo desta função:BOOL WINAPI EnumProcesses( DWORD* pProcessIds, DWORD cb, DWORD* pBytesReturned ); Esta função possui três parâmetros: a) DWORD* pProcessIds - Um ponteiro para uma matriz que receberá a lista de identificadores dos processos. É importante definir uma matriz um pouco grande, visto que não sabemos de antemão quantos processos serão retornados. b) DWORD cb - O tamanho da matriz pProcessIds em bytes. c) DWORD* pBytesReturned - O números de bytes retornados na matriz pProcessIds. Podemos facilmente saber quantos processos foram encontrados simplesmente dividindo o número de bytes retornados pela quantidade de bytes em um DWORD. Veja um trecho de código no qual listamos os ids de todos os processos sendo executados atualmente. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> #include <psapi.h> /* Este exemplo usa o header <psapi.h> É necessário fazer uma referência à psapi.lib */ using namespace std; int main(int argc, char *argv[]){ DWORD processos[1024]; // vamos listar até 1024 processos DWORD pBytesReturned; // bytes retornados pela função EnumProcesses() // vamos listar os processos EnumProcesses(processos, sizeof(processos), &pBytesReturned); // quantidade de processos retornados int retornados = pBytesReturned / sizeof(DWORD); // agora vamos listar os ids dos processos retornados for(int i = 0; i < retornados; i++){ if(!processos[i] == 0){ cout << "Processo " << (i + 1) << ": " << processos[i] << endl; } } system("PAUSE"); return EXIT_SUCCESS; } O id de um processo pode ser fornecido para muitas funções úteis do Windows, entre elas OpenProcess(). Veja um trecho de código no qual fechamos (forçadamente) um processo mediante o fornecimento de seu id: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ // vamos fechar o processo com o id 3040 // CUIDADO: Verifique o id do processo antes de fechá-lo // pode ser que você esteja fechando processos essenciais // para o bom funcionamento do Windows // vamos abrir o processo desejado // vai retornar ERROR_INVALID_HANDLE se o processo não // puder ser aberto HANDLE hProcesso = OpenProcess(PROCESS_TERMINATE, 0, 3040); // vamos fechar o processo if(TerminateProcess(hProcesso, 0)){ cout << "Processo finalizado com sucesso." << endl; } else{ cout << "Erro ao finalizar o processo: " << GetLastError() << endl; } // vamos fechar o handle do processo CloseHandle(hProcesso); system("PAUSE"); return EXIT_SUCCESS; } |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o operador condicional (operador ternário) da linguagem C++ - C++ para iniciantesQuantidade de visualizações: 26857 vezes |
A linguagem C++ fornece um operador condicional, também chamado de operador ternário) que é muito semelhante a um bloco if...else. Este operador aceita três operandos. O primeiro operando é uma condição, o segundo é valor para a expressão condicional se o resultado do teste for true. O terceiro operando é o valor para a expressão condicional caso o resultado do teste for false. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int valor = 10; cout << (valor >= 5 ? "Maior ou igual a 5" : "Menor que 5"); Este trecho de código pode ser escrito usando if...else da seguinte forma: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int valor = 10; if(valor >= 5) cout << "Maior ou igual a 5"; else cout << "Menor que 5"; O operador condicional pode ser resumido na seguinte estrutura: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Exp1 ? Exp2 : Exp3 A expressão Exp1 é avaliada. Se esta resultar verdadeira, a expressão Exp2 se torna o resultado da operação. Se a expressão Exp1 resultar falso, a expressão Exp3 se torna o resultado da operação. Veja mais um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int valor = 5; // usando o operador condicional I bool res = (valor > 10 ? true : false); // usando o operador condicional II (res ? cout << "Verdadeiro" : cout << "False"); |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto A direção mais crítica de um pilar de canto é determinada na comparação entre o índice de esbeltez do pilar e a esbeltez limite. Analise o pilar a seguir: Sobre esse pilar de canto, assinale a alternativa correta. A) A direção x é a mais crítica, e nela não são considerados os momentos de 2ª ordem. B) A direção y é a mais crítica, e nela não são considerados os momentos de 2ª ordem. C) A direção x é a mais crítica, e nela são considerados os momentos de 2ª ordem. D) A direção y é a mais crítica, e nela são considerados os momentos de 2ª ordem. E) Ambas as direções x e y são críticas, e nelas são considerados os momentos de 2ª ordem. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Os ecossistemas de água doce podem ser classificados em lênticos e lóticos. É correto afirmar que A) ecossistemas lênticos são ambientes aquáticos de água corrente como rios e riachos. B) ecossistemas lóticos são ambientes aquáticos de água parada como lagos e lagoas. C) em lagos e lagoas, termoclina é a zona de transição entre a camada superficial e a camada profunda, sendo uma camada fina de rápida variação de temperatura. D) um reservatório pode apresentar compartimentos com características semelhantes a rios, e outro semelhantes ao ambiente de lagos, sendo que quanto maior o tempo de residência do reservatório, maior a tendência do reservatório de se comportar como rio. E) a solubilidade do oxigênio na água está associada à temperatura e à pressão. Com a diminuição da temperatura e o aumento da pressão, ocorre redução da solubilidade do oxigênio na água. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptdocument.write(typeof typeof 1); Qual é o resultado de sua execução? A) number B) NaN C) string D) true E) 1 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte trecho de código JavaScriptvar a = new Array(); a[0] = 12; a[1] = false; a[2] = "texto"; a[3] = a; Qual destas instruções provocará um erro de execução? A) Linha 3 B) Linha 4 C) Linha 5 D) O código executa sem provocar erros Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Ano: 2014 Banca: Fundação Carlos Chagas - FCC Prova: FCC - TCE GO - Analista de Controle Externo - Área: Engenharia - 2014 Considere uma viga de uma estrutura usual de concreto armado, submetida à flexão simples, com momento fletor de cálculo Md = 25 kNm, como ilustrado na figura abaixo. A área necessária de armadura de tração com aço CA50, em cm2, calculada no estado limite último para situações de combinações normais, é A) 1,0. B) 1,2. C) 1,6. D) 1,8. E) 2,0. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |