seuqram Posted February 20, 2012 Report Share Posted February 20, 2012 pessoal eu não consigo juntar 2 variáveis de tipo carater exemplo: char a='vari'; char b='avel'; eu queria juntar essas duas ficando numa variável que ficava com o valor: variavel(juntar a variavel a com a b) é possível? como? Link to comment Share on other sites More sharing options...
bubulindo Posted February 20, 2012 Report Share Posted February 20, 2012 char a[] = {'v', 'a', 'r', 'i'}; char b[] = {'a','v','e','l'}; char c[10]; strcat(c, a); strcat(c, b); Podes procurar pela classe String que faz o mesmo de forma mais simples. include <ai se te avio> Mãe () { } Link to comment Share on other sites More sharing options...
pmg Posted February 20, 2012 Report Share Posted February 20, 2012 char a[] = {'v', 'a', 'r', 'i'}; char b[] = {'a','v','e','l'}; char c[10]; strcat(c, a); strcat(c, b); Podes procurar pela classe String que faz o mesmo de forma mais simples. Eu não sei C++, mas não devias "terminar" os arrays a e b com '\0' e inicializar o array c (ou pelo menos atribuir '\0' ao primeiro elemento) antes de usares strcat()? O teu código em C (com maneiras diferentes, mas equivalentes, de inicializar a e b) seria char a[] = {'v', 'a', 'r', 'i', '\0'}; char b[] = "avel"; char c[10]; c[0] = '\0'; strcat(c, a); strcat(c, b); What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
RiKoNnEcT Posted February 20, 2012 Report Share Posted February 20, 2012 Eu não sei C++, mas não devias "terminar" os arrays a e b com '\0' e inicializar o array c (ou pelo menos atribuir '\0' ao primeiro elemento) antes de usares strcat()? O teu código em C (com maneiras diferentes, mas equivalentes, de inicializar a e b) seria char a[] = {'v', 'a', 'r', 'i', '\0'}; char b[] = "avel"; char c[10]; c[0] = '\0'; strcat(c, a); strcat(c, b); Exacto, da forma que o bubulindo fez o programa rebenta, basta meter os '\0' e já fica operacional Outra forma bem mais simples de resolver o problema e que o bublindo tambem já referenciou é usar a biblioteca string #include <string> #include <iostream> using namespace std; void main() { string a,b; a="vari"; b="avel"; a+=b; cout<<a<<endl; } Link to comment Share on other sites More sharing options...
seuqram Posted February 20, 2012 Author Report Share Posted February 20, 2012 string a,b; que tipo de variavel é este? e strcat? e \0? Link to comment Share on other sites More sharing options...
RiKoNnEcT Posted February 20, 2012 Report Share Posted February 20, 2012 string a,b; que tipo de variavel é este? e strcat? e \0? string a,b; -> string é a verdadeira String em c++, o array de caracteres que usaste, não passa de isso mesmo, um array de caracteres em que se usa o '\0' no final para indicar que é uma frase/string e não um simples conjunto de caracteres aleatórios. strcat()-> uma funcao da biblioteca "string.h" que concactena(acho que é assim que se escreve 😛 ) duas frases, ou seja junta-as todas na mesma "string"/array de caracteres \0-> como já tinha explicado acima é o "sinal" que indica que um array de caracteres deve ser interpretado como uma string Link to comment Share on other sites More sharing options...
seuqram Posted February 20, 2012 Author Report Share Posted February 20, 2012 ok obrigado por as explicaçoes 😁 Link to comment Share on other sites More sharing options...
bubulindo Posted February 20, 2012 Report Share Posted February 20, 2012 Bem visto... Foi mesmo para mostrar a strcat. include <ai se te avio> Mãe () { } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now