C sharp - String en C++

 
Vista:

String en C++

Publicado por Gustavo (2 intervenciones) el 27/05/2004 17:51:08
Como puedo hacer para saber el largo de un String, si el mismo contiene caracteres nulos (chr(0));

Por ejemplo :

char * str= "Hola \0 Mundo"

el strlen(str) me retorna 4. Como puedo solucionar este tema, ya que me interesa guardar string con caracteres nulos.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:String en C++

Publicado por Yamil Bracho (1164 intervenciones) el 27/05/2004 21:30:28
El problema es que para C/C++ el null es el fin del String. Si tienes varios dentro de un String, la funcion strlen() finalizara donde consiga el primero ya que se asume que esta alli llega el string. Esto funciona asi por diseño.
Pudieras usando apuntadores leer mas alla del primer null que consigas pero entonces como sabes donde terminar ?
Si esta data te esta llegando de otra aplicacion usa otra delimitador ya que para C/C++ ese caracter indica el fin del String
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:String en C++

Publicado por Gustavo (2 intervenciones) el 27/05/2004 23:41:09
Lamentablemente, la solucion planteada no me sirve, ya que los datos que tengo que leer ya estan dentro de archivos, y a mi me los pasan como parametro.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:String en C++

Publicado por Yamil Bracho (1164 intervenciones) el 28/05/2004 17:00:54
Si el archivo tiene una longitud de linea fija, puedes saber cual es el final y asi si te sirve recorrer la tira usando un apuntador y eliminando los nulls.
El unico requerimiento que veo es que sepas donde termina la tira...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar