Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2012
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question ¿como unir cadenas en C y en C++?

hola.


tengo una duda que no logro entender.

en delphi si quiero unir cadenas uso
Código Delphi [-]
var
  cadenafinal :string;
begin
     cadenafinal  := 'valor uno';
     cadenafinal := cadenafinal  + 'valor 2';
     cadenafinal := cadenafinal  + 'valor 3';
    cadenafinal := cadenafinal  + 'valor 4';

memo1.lines.add(cadenafinal ) ;
end;

y en el memo obtengo

valor uno valor 2 valor 3 valor 4


en C y en C++ como se hace lo mismo??

no entiendo .. como


gracias.
Responder Con Cita
  #2  
Antiguo 24-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para poder usar estas funciones tenemos que incluir la cabecera: string.h
con el primero:
Código:
fscanf(archivo, "%s", palabra);
largo = strlen(palabra);
palabra[largo-1] = '\0'; //con esto terminas la variable palabra.
strcat(frase, palabra);
si quieres usar sprintf hazlo así:
Código:
fscanf(archivo, "%s", palabra);
largo = strlen(palabra);
palabra[largo-1] = '\0'; //con esto terminas la variable palabra.
sprintf(frase, "%s ", palabra);
no lo he probado pero creo que asi deberia funcionar.

Última edición por Casimiro Notevi fecha: 24-05-2012 a las 18:33:27.
Responder Con Cita
  #3  
Antiguo 24-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
C++
strcat(): Concatenar cadenas
Sintaxis: char *strcat(char *dest, const char *src);
strcat agrega la cadena src a dest, la función termina hasta haber encontrado en src el caracter de terminación null.
Código:
char  nombre[]  = "Oscar E."; 
char  copia[80] = " Palacios"; 
strcat(copia, nombre); 
cout  << copia << endl;
Responder Con Cita
  #4  
Antiguo 24-05-2012
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
hoo

Gracias.
Casimiro Notevi

estilo delphi es fabuloso.. en c au no me acostumbro
Responder Con Cita
  #5  
Antiguo 25-05-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Existen muchas formas en C de concatenar cadenas. La mas usada es strcat como apunta Casimiro.
En C las cadenas se tratan a bajo nivel. Una cadena no es otra cosa que un array de char que terminan en un valor nulo.

Pero en C++ tenemos clases para manejar cadenas. En el entorno de Builder tienes la clase String que funciona casi igual que lo que ves en delphi y las puedes sumar.

Código:
String Cadena = "uno, " + "dos";

Saludos.
Responder Con Cita
  #6  
Antiguo 08-07-2016
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Estoy usando c++ builder XE5 w32
y los componentes firedac para hacer consultas.

Sigo de novato en C++

por que en c++ no puedo hacer esto

Código:
  FDQuery1->Close();
  FDQuery1->SQL->Clear();
  FDQuery1->SQL->Add("SELECT * FROM EMPLOYEE ");
  FDQuery1->SQL->Add(" WHERE ");
  FDQuery1->SQL->Add(" FIRST_NAME = " + "'" + EditFName->Text + "'");


   Memo1->Text = FDQuery1->SQL->Text;

  FDQuery1->OpenOrExecute();
da el siguiente error

[bcc32 Error] FiredacConecta.cpp(129): E2085 Invalid pointer addition
Full parser context
FiredacConecta.cpp(124): parsing: void _fastcall TForm1::Button2Click(TObject *)

y si pasa asi.

Código:
  FDQuery1->Close();
  FDQuery1->SQL->Clear();
  FDQuery1->SQL->Add("SELECT * FROM EMPLOYEE ");
  FDQuery1->SQL->Add(" WHERE ");
  FDQuery1->SQL->Add(" FIRST_NAME = '" + EditFName->Text + "'");


   Memo1->Text = FDQuery1->SQL->Text;

  FDQuery1->OpenOrExecute();
Gracias

por su atencion
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como recortar de una longitud de cadenas en c# uper .NET 1 12-11-2009 09:20:14
Cómo Unir archivos avi carmelina Varios 1 22-04-2009 13:01:39
como unir sql y delphi??? jermy MySQL 4 11-01-2007 23:23:51
Como concateno cadenas en Firebird?¿? burasu Firebird e Interbase 6 21-07-2004 13:38:29
Como Grabar Cadenas Media? Alejandro_J Varios 0 20-05-2003 18:06:30


La franja horaria es GMT +2. Ahora son las 15:16:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi