Já to morrendo de raiva...
To usando o Turbo C e naum to conseguindo concatenar 2 strings...
tipo:
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!
- Home
- >
- Fórum
- >
- Profissional
- >
- Programação, Sc...
- >
- Concatenar Strings em C
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.
[]!
O Acquila quase acertou.
#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;
}
Oi Marhault, tem um jeito rápido de vc fazer isso: usando a função sprintf(). Ex:
char *str1 = "12";
char *str2 = "30";
char resultado[256];
sprintf( resultado, "%s:%s", str1, str2);
Só é preciso tomar cuidado com buffer overflows, OK?
[]s
Desse jeito é bom mesmo quando ele tem que conservar o valor da primeira variável. Legal.
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.
jackinabox, vc se enganou
Em C++ vc pode fazer algo do tipo
#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
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 .
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É que eu achei sacanagem eu ter tido o trabalho de escrever tudo e depois não postar, ahaha.
:roll: sml0107
eu consegui
vlwzã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?
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.