Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Problema al imprimir todos los caracteres ASCII en C++

Estas en el tema de Problema al imprimir todos los caracteres ASCII en C++ en el foro de C/C++ en Foros del Web. Utilizando el compilador de MinGW, he escrito un programa bastante sencillo en C++ que imprima todos caracteres imprimibles (char) desde su valor (0) hasta antes ...
  #1 (permalink)  
Antiguo 14/10/2013, 22:37
cristiansc93
Invitado
 
Mensajes: n/a
Puntos:
Problema al imprimir todos los caracteres ASCII en C++

Utilizando el compilador de MinGW, he escrito un programa bastante sencillo en C++ que imprima todos caracteres imprimibles (char) desde su valor (0) hasta antes del (257).
Imagínen mi frustración al recibir en la consola algo totalmente diferente. ¿Podría algun miembro decirme porque obtengo esta respuesta?

Código
------------------------------------------------------------------------------------------------------

#include <iostream>

using namespace std;


int main(void){

int i;

cout << "T" << char(160) << "bla de los numeros ASCII" << endl << endl;
cout << "----------------------------------------------"<< endl << endl;

for (i = 0; i < 257; i++)
{
cout << char(i) << " <---> " << i << endl << endl;
}

return 0;
}

------------------------------------------------------------------------------------------------------

Consola
------------------------------------------------------------------------------------------------------

m <---> 109

n <---> 110

o <---> 111

p <---> 112

q <---> 113

r <---> 114

s <---> 115

t <---> 116

u <---> 117

v <---> 118

w <---> 119

x <---> 120

y <---> 121

z <---> 122

{ <---> 123

| <---> 124

} <---> 125

~ <---> 126

⌂ <---> 127

Ç <---> 128

ü <---> 129

é <---> 130

â <---> 131

ä <---> 132

à <---> 133

å <---> 134

ç <---> 135

ê <---> 136

ë <---> 137

è <---> 138

ï <---> 139

î <---> 140

ì <---> 141

Ä <---> 142

Å <---> 143

É <---> 144

æ <---> 145

Æ <---> 146

ô <---> 147

ö <---> 148

ò <---> 149

û <---> 150

ù <---> 151

ÿ <---> 152

Ö <---> 153

Ü <---> 154

ø <---> 155

£ <---> 156

Ø <---> 157

× <---> 158

ƒ <---> 159

á <---> 160

í <---> 161

ó <---> 162

ú <---> 163

ñ <---> 164

Ñ <---> 165

ª <---> 166

º <---> 167

¿ <---> 168

® <---> 169

¬ <---> 170

½ <---> 171

¼ <---> 172

¡ <---> 173

« <---> 174

» <---> 175

░ <---> 176

▒ <---> 177

▓ <---> 178

│ <---> 179

┤ <---> 180

Á <---> 181

 <---> 182

À <---> 183

© <---> 184

╣ <---> 185

║ <---> 186

╗ <---> 187

╝ <---> 188

¢ <---> 189

¥ <---> 190

┐ <---> 191

└ <---> 192

┴ <---> 193

┬ <---> 194

├ <---> 195

─ <---> 196

┼ <---> 197

ã <---> 198

à <---> 199

╚ <---> 200

╔ <---> 201

╩ <---> 202

╦ <---> 203

╠ <---> 204

═ <---> 205

╬ <---> 206

¤ <---> 207

ð <---> 208

Ð <---> 209

Ê <---> 210

Ë <---> 211

È <---> 212

ı <---> 213

Í <---> 214

Î <---> 215

Ï <---> 216

┘ <---> 217

┌ <---> 218

█ <---> 219

▄ <---> 220

¦ <---> 221

Ì <---> 222

▀ <---> 223

Ó <---> 224

ß <---> 225

Ô <---> 226

Ò <---> 227

õ <---> 228

Õ <---> 229

µ <---> 230

þ <---> 231

Þ <---> 232

Ú <---> 233

Û <---> 234

Ù <---> 235

ý <---> 236

Ý <---> 237

¯ <---> 238

´ <---> 239

* <---> 240

± <---> 241

‗ <---> 242

¾ <---> 243

¶ <---> 244

§ <---> 245

÷ <---> 246

¸ <---> 247

° <---> 248

¨ <---> 249

· <---> 250

¹ <---> 251

³ <---> 252

² <---> 253

■ <---> 254

* <---> 255

<---> 256


Process returned 0 (0x0) execution time : 0.219 s
Press any key to continue.

------------------------------------------------------------------------------------------------------
  #2 (permalink)  
Antiguo 15/10/2013, 12:23
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: Problema al imprimir todos los caracteres ASCII en C++

Bueno, para empezar, los numeros de los caracteres ascii van de 0 a 255, no a 256.

Segundo.
Algunos caracteres no son caracteres tal cuales, son comandos o secuencias de escape. Por ejemplo, el salto de linea, el retorno de carro, el tabulador, digamos que en la tabla no vana a ser muy claros.
No se ni siquiera que comportamiento tengan los comandos.
No todos los valores ascii son imprimibles en la consola.

Saludos
  #3 (permalink)  
Antiguo 16/10/2013, 02:09
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Problema al imprimir todos los caracteres ASCII en C++

Los códigos ASCII que van del 0 al 31 son caracteres de control (no imprimibles). Si intentas imprimirlos, verás figuritas raras o un comportamiento un tanto extraño de la pantalla o ventana donde lo imprimas.

Los códigos del 32 al 127 corresponden a los caracteres estándar del alfabeto inglés, signos de puntuación y dígitos.

El conjunto de 0 a 127 corresponde al juego ASCII original, que era de 7 bits.

Los caracteres con códigos del 128 al 255 ya dependen de otras cuestiones. Suelen contener caracteres especiales del idioma (por ejemplo, letras acentuadas o con diéresis en castellano y otros idiomas, la letra 'ñ', caracteres semigráficos o letras griegas), pero puede depender del idioma e, incluso, del tipo de letra. Incluso, podrías obtener distinto resultado si imprimes en modo consola o en una ventana de texto.

Saludos,
  #4 (permalink)  
Antiguo 26/10/2013, 18:30
cristiansc93
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al imprimir todos los caracteres ASCII en C++

En efecto, se obtienen diferentes salidas cuando ejecuto de distinta manera. Gracias por sus respuestas!
  #5 (permalink)  
Antiguo 27/10/2013, 12:22
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Problema al imprimir todos los caracteres ASCII en C++

blablalba me equivocado

Etiquetas: ascii, caracteres, int, numero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:58.