Do you want compare two strings or two char pointers case-insensitive using C++? Here's the most useful and intuitive form I have found to make this comparison.
This way you just need include a standard library for C++: that is, you don't need download anything nor create a new method. Below we'll see some quick examples of how to compare two strings or char pointers by case-insensitive in C++ - but I already must say: it's very simple.
Comparing strings:
#include <strings.h>
#include <string>
string var1 = "goal", var2 = "boal";
if (strcasecmp(var1.c_str(),var2.c_str()) == 0) {
cout << "This will NOT print" << endl;
} else {
cout << "This will print." << endl;
}
Comparing char pointers:
#include <strings.h>
char* var1 = "goal", var2 = "boal";
if (strcasecmp(var1,var2) == 0) {
cout << "This will NOT print" << endl;
} else {
cout << "This will print." << endl;
}
The comparision of equals 0 is needed because strcasecmp returns an integer, so if the returned integer is equals to zero, the chars / strings are equal. Any different value from zero indicates that the strings are different.
You can find the documentation here: http://man7.org/linux/man-pages/man3/strcasecmp.3.html
Thanks!
Fernando Paladini.
Você é um dos que está totalmente acostumado a utilizar o "clique no botão do meio do mouse" para algumas tarefas simples, como abrir links em outras abas, colar conteúdo copiado e fechar abas do navegador?
Se sim, conhece o grande problema que é não ter essa ferramenta disponível no seu dia-a-dia, o custo que é para se adaptar. Se você não consegue utilizar o "clique no scroll do mouse" no seu Fedora, Ubuntu ou qualquer outra DISTRO que tenha como interface o Gnome, saiba que aqui você vai encontrar a solução.
Depois de muito pesquisar na Internet, achei uma solução simples que precisa de apenas uma linha de comando no Terminal. O comando a seguir deve ativar o clique no botão do meio do mouse. Abra o seu Terminal (Ctrl + Alt + T) e digite o seguinte comando:
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
Espero que isso tenha solucionado o seu problema, caso não, sinta-se à vontade para perguntar nos comentários. Se te ajudou, também deixe um comentário de incentivo :)
Obrigado!
Sometimes you need to "unaccent" words, phrases or long texts, but how can you do that using a database? PostgreSQL, the "world's most advanced open source database" provide a nice solution to this common problem: the unaccent extension.
Our point is not to show you how to use the unaccent extension, but how to install it. If you already know how to install this extension, you can read the official documentation of unaccent extension here.
If you're receiving one of these errors:
ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/unaccent.control": No such file or directory
ERROR: could not open extension control file "/usr/share/postgresql/9.3/extension/unaccent.control": No such file or directory
This tutorial is for you. Now let's solve this thing once.
How to install unaccent extension for PostgreSQL 9.3:
Ubuntu / Debian:sudo apt-get install postgresql-contrib
Fedora:yum install postgresql-contrib
CentOS:sudo yum install postgres*contrib
I hope this solves your problem. If this not helps, please let me know through the comments below. Otherwise, I'm waiting for feedback in the comments too :)
Thanks!
Já faz algum tempo que gosto de me envolver e pesquisar sobre SEO - Search Engine Optimization -, é sem dúvida um campo de estudo muito legal. Recentemente (mas não muito), descobri um outro tipo de Meta Tags, meta tags que iam além dos simples name="description" e name="robots" (meta tags padrão) e dos mais complexos "og:title" (Open Graph - Facebook).
Conheci as meta tags Dublin Core, um conjunto de meta tags não muito conhecido mas ainda muito válido. Dublin Core "é um esquema de metadados que visa descrever objetos digitais, tais como, videos, sons, imagens, textos e sites na web.", segundo a Wikipédia.
Abaixo, temos um exemplo de código das tags Dublin Core:
<meta name="DC.Title" content="Título">
<meta name="DC.Creator" content="Criador do conteúdo">
<meta name="DC.Subject" content="Assunto (tag)">
<meta name="DC.Description" content="Descrição">
<meta name="DC.Publisher" content="Publicador">
<meta name="DC.Contributor" content="Contribuidor">
<meta name="DC.Date" content="2014-02">
<meta name="DC.Language" content="en">
Agora uma aplicação real em um projeto meu, o "The History of Bitcoin":
<meta name="DC.Title" content="The History of Bitcoin, by Fernando Paladini">
<meta name="DC.Creator" content="Fernando Paladini">
<meta name="DC.Subject" content="Bitcoin">
<meta name="DC.Subject" content="History">
<meta name="DC.Subject" content="BTC">
<meta name="DC.Subject" content="Timeline">
<meta name="DC.Description" content="Discover the history of Bitcoin in an animated timeline.">
<meta name="DC.Publisher" content="Fernando Paladini">
<meta name="DC.Contributor" content="Fernando Paladini">
<meta name="DC.Date" content="2014-02">
<meta name="DC.Language" content="en">
Como você viu, é possível adicionar mais de uma vez a mesma meta tag, caso seja necessário. Vou criar um outro post especificamente para explicar de cada um desses campos, e enquanto isso não acontece, use esse Gerador de Tags Dublin Core.
Se quiser saber mais, fique a vontade para ler o site do projeto Dublin Core.