PDF de programación - 5A. Cadenas de caracteres al estilo de C

Imágen de pdf 5A. Cadenas de caracteres al estilo de C

5A. Cadenas de caracteres al estilo de Cgráfica de visualizaciones

Actualizado el 15 de Junio del 2021 (Publicado el 6 de Diciembre del 2018)
1.149 visualizaciones desde el 6 de Diciembre del 2018
392,0 KB
4 paginas
Creado hace 10a (03/09/2013)
Fundamentos de la programación

5A

Grado en Ingeniería Informática
Grado en Ingeniería del Software
Grado en Ingeniería de Computadores
Facultad de Informática
Luis Hernández Yáñez/Pablo Moreno Ger
Universidad Complutense

Cadenas al estilo de C
E/S con cadenas al estilo de C
La biblioteca cstring
Ejemplo

582
583
584
585

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

Arrays de caracteres terminados en nulo

cadena

const Max = 15;
typedef char tCadena[Max];
tCadena cadena = "Adiós"; // Inicialización al declarar

Siempre hay al final un carácter nulo (código ASCII 0– '\0')
Indica que en esa posición termina la cadena (exclusive)
En el array caben MAX‐1 caracteres significativos
Longitud máxima de la variable cadena: 14
Nose pueden asignar cadenas literales: cadena = "Hola";
Nicopiar cadenas directamente: cad2 = cad1;
Nicomparar con op. relacionales: if (cad1 < cad2) ...

s \0
5
4

d
1

i
2

A
0

ó
3

11

10

13

12

14

6

7

8

9

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

Página 582

cin >> setw(15) >> cadena;

¡No se comprueba si se leen más caracteres de los que caben!

tCadena cadena;
cin >> cadena; // Se añade un nulo al final

Extractor: la lectura termina en el primer espacio en blanco
setw(): máximo de caracteres a colocar (incluyendo el nulo)
cin.getline(cadena_estilo_C, máx):
Para leer también los espacios en blanco y no más de máx‐1
cin.getline(cad, máx) Cadenas al estilo de C
cin.getline(cad, máx) Cadenas al estilo de C
Cadenas de tipo string
Cadenas de tipo string

cout << cadena << endl; // El nulo no se muestra

cin.getline(cadena, 15); // Hasta 14 caracteres

getline(cin, cad)
getline(cin, cad)

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

Página 583

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

strcpy(cad2, cad1);

cout << "Longitud: " << strlen(cadena);

 strlen(cadena): longitud actual de la cadena
 strcpy(destino, origen): copia origenen destino
 strcat(destino, origen): añade origenal final de destino
 strcmp(cad1, cad2): compara lexicográficamente las cadenas
0si son iguales, 1si cad1> cad2ó ‐1si cad1< cad2
. . .

tCadena cad1 = "Hola", cad2 = "Adiós";
strcmp(cad1, cad2) // Devuelve 1 ("Hola" > "Adiós")

tCadena cad1 = "Hola", cad2 = "Adiós";
strcat(cad1, cad2); // cad1 contiene "HolaAdiós"

strcpy(cad, "Me gusta C++");

http://www.cplusplus.com/reference/clibrary/cstring/

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

Página 584

cadenas.cpp
cadenas.cpp

#include <iostream>
using namespace std;
#include <cstring>

int main() {

const int MAX = 20;
typedef char tCad[MAX];
tCad cadena = "Me gusta C++";
cout << cadena << endl;
cout << "Cadena: ";
cin >> cadena; // Lee hasta el primer espacio en blanco
cout << cadena << endl;
cin.sync(); // Sincronizar la entrada
cout << "Cadena: ";
cin.getline(cadena, MAX);
cout << cadena << endl;
cout << "Longitud: " << strlen(cadena) << endl;
strcpy(cadena, "Hola");
...

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

Página 585

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

tCad cadena2 = " amigo";
strcat(cadena, cadena2);
cout << cadena << endl;
if (strcmp(cadena, cadena2) == 0) {

cout << "Iguales";

}
else if (strcmp(cadena, cadena2) > 0) {

cout << cadena << " es mayor que " << cadena2;

}
else {

}
cout << endl;

cout << cadena << " es menor que " << cadena2;

return 0;

}

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

Página 586

Licencia CC (Creative Commons)

Este tipo de licencias ofrecen algunos derechos a terceras personas
bajo ciertas condiciones.
Este documento tiene establecidas las siguientes:
Reconocimiento (Attribution):
En cualquier explotación de la obra autorizada por la licencia
hará falta reconocer la autoría.
No comercial (Non commercial):
La explotación de la obra queda limitada a usos no comerciales.
Compartir igual (Share alike):
La explotación autorizada incluye la creación de obras derivadas
siempre que mantengan la misma licencia al ser divulgadas.
Pulsa en la imagen de arriba a la derecha para saber más.

Fundamentos de la programación: Cadenas al estilo de C (Anexo)

Página 587

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

 

 

l

r
e
G
o
n
e
r
o
M
o
b
a
P
/
z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L
  • Links de descarga
http://lwp-l.com/pdf14451

Comentarios de: 5A. Cadenas de caracteres al estilo de C (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad