Ver Mensaje Individual
  #10  
Antiguo 12-07-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si, como te comentan, es importante diferenciar el C-string de las clases string de C++(STL) y AnsiString de C++ Builder (VCL).

El primero es un arreglo de caracteres terminado en '\0'. Un C-string que almacena la palabra "hola" contiene cinco caracteres: 'h', 'o', 'l', 'a', '\0'.

Por otro lado existe una fuerte relación entre punteros y arreglos en C:
Código PHP:
{
  
char cad [] = "hola ";
  
charpcad = &cad[0]; // comúmente sólo: &cad
  
  //entonces se ve que: 
  
printf("%c %c"cad[0], *(pcad+0)); // h h
  
printf("%c %c"cad[1], *(pcad+1)); // o o 
Es tán intrínseca esa relación, que es muy común ver inicializar variables así:
Código PHP:
{
  
charcad "hola ";
  
  
printf("%c %c"cad[0], *cad); // h h 
La clase AnsiString es el análogo C++ Builder a las cadenas largas de Delphi (AnsiString).
En cuanto a las clases string (STL) y AnsiString (VCL), aunque no son iguales, permiten funcionalidades similares a la hora de asignar y concatenar.

string (STL):
Código PHP:
...
#include<string>

int main()
{
  
std::string s1 "hola ";
  
std::string s2 "mundo";
  
std::string s3 s1 s2
AnsiString (VCL):
Código PHP:
#include <vcl.h>
...
{
  
AnsiString s1 "hola "
  
AnsiString s2 "mundo";
  
AnsiString s3 s1 s2
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita