FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 754.113 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 23-03-2005, 20:53   #1 (permalink)
Marhault
Newbie
 
Registrado em: Mar 2005
Mensagens: 18
Reputação: 0 Marhault está indo no caminho certo
Enviar mensagem via MSN para Marhault
Padrão Concatenar Strings em C

Já to morrendo de raiva...
To usando o Turbo C e naum to conseguindo concatenar 2 strings...
tipo:

Código:
str1 = "12"; str2 = "30"; resultado = str1 + ":" + str2;
Eh assim q uso no PHP... como fazer isso no C ?

Ah... E se alguem souber uma função pra executar um outro programa tb ficarei grato...

Vlwzão!
Marhault está offline   Responder com Quote
Antigo 23-03-2005, 21:34   #2 (permalink)
Acquila
Super Participante
 
Registrado em: Mar 2002
Mensagens: 653
Reputação: 21 Acquila está indo no caminho certo
Padrão

Acho que é strcat(str1,str2). Tenta aí.

A única função que conheço é a run(), mas se não em engano ela não existe no turbo C. Tem uma galera que saca mais de C aqui e eles vão poder dizer algo mais concreto.

[]!
Acquila está offline   Responder com Quote
Antigo 23-03-2005, 21:44   #3 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

O Acquila quase acertou.
Código:
#include <stdio.h> #include <string.h> int main() { char str1[] = "12"; char str2[] = "30"; strcat(str1, ":"); printf("str1 depois de strcat(str1, \":\"):\n%s", str1); strcat(str1, str2); printf("\nstr1 depois de strcat(str1, str2):\n%s", str1); return 0; }
kao00 está offline   Responder com Quote
Antigo 24-03-2005, 0:42   #4 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

Oi Marhault, tem um jeito rápido de vc fazer isso: usando a função sprintf(). Ex:

Código:
char *str1 = "12"; char *str2 = "30"; char resultado[256]; sprintf( resultado, "%s:%s", str1, str2);
Só é preciso tomar cuidado com buffer overflows, OK?

[]s
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 24-03-2005, 8:15   #5 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

Desse jeito é bom mesmo quando ele tem que conservar o valor da primeira variável. Legal.
kao00 está offline   Responder com Quote
Antigo 24-03-2005, 13:25   #6 (permalink)
jackinabox
Veterano
 
Avatar de jackinabox
 
Registrado em: Nov 2004
Mensagens: 1.055
Reputação: 16 jackinabox está indo no caminho certo
Padrão

Só para ajudar a entender:

O símbolo "+" é um operador. Note que, para a sintaxe a + b ser válida, o operador "+" deve estar definido para os tipos de operandos a e b, na linguagem específica em que estamos programando.

Por exemplo, se a e b forem variáveis de um tipo numérico primitivo, a semântica do operador "+" será "efetuar a soma aritmética do valor numérico dos números a e b, gerando um outro valor numérico como resultado".
Se a e b forem strings, entretanto, a semântica do operador "+" seria "concatenar as duas strings a e b, gerando uma outra string como resultado".

Portanto, apesar de utilizar-se o mesmo símbolo "+", o significado da operação depende do tipo de operando. E, para alguns tipos de operando, determinado operador da linguagem pode simplesmente não estar definido. É o que ocorre com as linguagens C/C++, por exemplo: o operador (binário) "+" não está definido para arrays de caracteres (char[]).

É importante saber, na linguagem em que se está programando, quais são os operadores e para quais tipos de dados estão definidos.
__________________
Jeferson Charles Mayer

"Como é que eu vou enxergar a tal floresta, com todas essas árvores atrapalhando a visão?"
jackinabox está offline   Responder com Quote
Antigo 24-03-2005, 14:13   #7 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

jackinabox, vc se enganou

Em C++ vc pode fazer algo do tipo
Código:
#include <iostream> #include <string> int main() { std::string str1 = "12"; std::string str2 = "30"; std::string hora; hora = str1 + ':' + str2; std::cout << hora << std::endl; return 0; }
Se bem que olhando ali agora vc falou sobre char[], mas se vc não tiver mesmo se engano, o Marhault e mais alguém que talvez não saiba vai ficar sabendo :P
kao00 está offline   Responder com Quote
Antigo 24-03-2005, 15:27   #8 (permalink)
pflynn
Zumbi
 
Avatar de pflynn
 
Registrado em: Jan 2004
Mensagens: 5.276
Reputação: 189 pflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputaçãopflynn tem uma fabulosa reputação
Padrão

Citação:
jackinabox, vc se enganou

Não ! Ele está correto ! Em C++ você só pode concatenar strings com strings, com caracteres ou com vetores de caracteres usando o operador '+' porque o mesmo ja está sobrecarregado para a classe string (mas não para vetores de caracteres). Pode conferir isso nos headers se estiver curioso .
__________________
------------------------------------------------
Muito bom. Mas tijolo não revida!
------------------------------------------------
pflynn está offline   Responder com Quote
Antigo 24-03-2005, 15:34   #9 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

Foi por isso que eu falei, depois que coloquei o código...

Se bem que olhando ali agora vc falou sobre char[], mas se vc não tiver mesmo se engano, o Marhault e mais alguém que talvez não saiba vai ficar sabendo... :wink:

É que eu achei sacanagem eu ter tido o trabalho de escrever tudo e depois não postar, ahaha.
kao00 está offline   Responder com Quote
Antigo 24-03-2005, 20:16   #10 (permalink)
jackinabox
Veterano
 
Avatar de jackinabox
 
Registrado em: Nov 2004
Mensagens: 1.055
Reputação: 16 jackinabox está indo no caminho certo
Padrão

Citação:
Postado Originalmente por kao00
É que eu achei sacanagem eu ter tido o trabalho de escrever tudo e depois não postar, ahaha.
:roll: sml0107
__________________
Jeferson Charles Mayer

"Como é que eu vou enxergar a tal floresta, com todas essas árvores atrapalhando a visão?"
jackinabox está offline   Responder com Quote
Antigo 25-03-2005, 2:13   #11 (permalink)
Marhault
Newbie
 
Registrado em: Mar 2005
Mensagens: 18
Reputação: 0 Marhault está indo no caminho certo
Enviar mensagem via MSN para Marhault
Padrão

eu consegui
vlwzão!
Marhault está offline   Responder com Quote
Antigo 05-09-2006, 15:22   #12 (permalink)
pablojfreitas
Newbie
 
Registrado em: Aug 2006
Mensagens: 11
Reputação: 0 pablojfreitas está indo no caminho certo
Enviar mensagem via MSN para pablojfreitas
Padrão

Pessoal estou com uma duvida, eu quero pegar os 3 primeiros octetos do ip, e acrescentar o ultimo:
ex.: 13.1.1.1, 13.1.1.2, 13.1.1.3
Os 3 primeiros octetos eh uma variavel(Pesso pro usuario digitar), o ultimo octeto eh outra variavel (ele eh uma variavel da estrutura de repetição(while)).
Como faço pra juntar(concatenar) as duas variveis, na linguagem shell?
pablojfreitas está offline   Responder com Quote
Antigo 05-09-2006, 15:50   #13 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

pablojfreitas, por favor, evite postar mensagens que não tenham a ver com o tema original do tópico.

Além disso, peço que antes de postar num tópico, verifique a data da última postagem, para evitar postar em tópicos que não recebem respostas há muito tempo. O usuário que faz isso é chamado de "Coveiro de fórum", e atrapalha muito, pois traz à tona tópicos com discussões antigas, informações obsoletas, e corre o risco de não receber respostas, pois os outros participantes do fórum podem não mais estar interessados no assunto, nem participar do fórum.
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 12:56.