Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: bash en 20 Julio 2015, 22:34 pm



Título: Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
Publicado por: bash en 20 Julio 2015, 22:34 pm
Buenaas !! Saludo !!!


tengo una pequena duda estoy leyendo algo sobre caracteres de la tabla ascii estoy usando un cast a char pero cuando ingreso el retorno de linea (13) por ejemplo nop pasa nada por lo menos cuando comparo directamente con caracteres quizas lo estoy haciendo mal , por que tengo una funcion que si me da los espacios que quiero por ejemplo dejare los codigos de ambos para que vean que trato de decir .... gracias

 ... solo me gustaria un consejo que deberia de hacer por favor no quiero el codigo me he dado cuenta que quizas a veces pregunto por algo y me dan el codigo y la verdad me gustaria solo un consejo gracias !!!!  :laugh: :laugh: :laugh: 
y disculpen las molestias !!!!!!

Código
  1. void Editor()
  2. {
  3.  
  4. string filename;
  5. cout <<"por favor ingrese el  del fichero que va a editar"<<endl;
  6.    ///analizar texto/
  7. getline(cin , filename, '$');
  8. for(string::iterator it =filename.begin(); it != filename.end(); it++)
  9. {
  10. if(*it == (char)13 || *it == (char)3)
  11. cout <<"Salto de linea \n "<<endl;
  12. else
  13. cout << '\n' << *it <<endl;  ///aqui me imprime todo los caracteres
  14.                                                                 ///incluyendo los espacios y los enter
  15.                                                                 ////solo es parte del codigo de la
  16.                                                               //// asi que el nomnre lo pueden ignorar.....
  17. }
  18. }


en este por ejemplo el espacio si sale como deseo pero en el codigo de arrba no pasa nda d
Código
  1. void PrintSpace(unsgined int cnt)
  2. {
  3.    for(auto e(0) : cnt )
  4.       cout <<( char ) 32;
  5. }


Gracias por los consejos !!


Título: Re: Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
Publicado por: ivancea96 en 21 Julio 2015, 00:20 am
Prueba con 10 en vez de 13. Y a todo esto, hay una forma más legible de hacerlo, y es poniendo '\n' en vez de (char)10. No hay necesidad de andar con todos los números en la mano. Un caracter en C/C++ es un número de por sí (de 1 byte generalmente), y puedes trabajar con él como tal.

También puedes poner, si quieres un caracter a partir de su valor ASCII Hexadecimal, '\x0A'.


Y a todo esto, ¿qué compilador usas?


Título: Re: Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
Publicado por: user-marcos en 21 Julio 2015, 14:33 pm
Los saltos de linea se pueden comparar así:

Código
  1. char salto = '\n';  
  2.  if(salto == '\n')
  3.     //....
  4.  


Título: Re: Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
Publicado por: bash en 21 Julio 2015, 14:46 pm
Primero que todo gracias colegas !! entiendo que es mal legible hacerlo usando '\n' pero la verdad lo puse por ejemplo ayer no se me ocurria poner otra cosa , por ejemplo como dice  la firma de la funcion , trato de hacer un "editor" y la verdad queria probar mas cosas por ejemplo cuando manda start of text STX , cuando manda el NUL   cuand es ETX  end of text , claro dependiendo que quiera hacer en el momento ayer solo queria 'parsear ' los saltos de linea usando solo ele codigo ascii . un ejemplo es el notepad++ cuando abro un fichero que contienen algunos de los valores el lo representa por que fue programado para eso ... y me gustaria tener control sobre eso.  seguire probando y preguntando a ver que sale ...  ;-) :silbar:


Título: Re: Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
Publicado por: ivancea96 en 21 Julio 2015, 15:33 pm
En C++ no tienes que tratar con STX, ETX ni otros códigos de ningún modo.

Los archivos binarios, tendrán esos códigos, pero no como tal, sino como simples valores numéricos.


Título: Re: Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
Publicado por: bash en 21 Julio 2015, 21:56 pm
si entiendo , de hecho ningun lenguaje esta hecho para trabajar con ellos pero la cosa es que me gustaria poder manipularlos, ahora me pondre a tratarlo a ver que sale. bueno seguro a muchos no le hace sentido tratar de acceder a esa informacion , pero verdad Gracias Por la aclaracion igual si lo termino mostrare algo de lo que trato de hacer!! ;-) ;-)