C/Visual C - String en c

 
Vista:

String en c

Publicado por Gustavo (2 intervenciones) el 27/05/2004 20:04:32
Como puede hacer para saber el largo de un string, si el mismo contiene caracteres nulos. Por ejemplo el strlen( "Hola\0 mundo"), retorna solamante los caracteres que contiene la palabra Hola, pero en realidad hay más letras para seguir recorriendo el string.

Verdaderamente es muy importante para mi poder saber la cantidad total de catacteres que tiene la cadena.

Si le encuentran alguna solución 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

RE:String en c

Publicado por Nicolas (183 intervenciones) el 27/05/2004 20:59:03
Hola!!!!!!!!!

Si tuvieras un string de la stl o un char* cargado asi, deberias recorrer el string asi e ir contando la cantidad de caracteres q tiene.

Salu2!!!!!!!!
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:46:12
Muchas gracias por la respuesta, pero lamentablemente no me sirve, ya que no sabría hasta donde recorrer.

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

RE:String en c

Publicado por Nicolas (183 intervenciones) el 28/05/2004 16:33:45
Hola de nuevo:

Si lo tenes en un string de la stl, el metodo size() te devuelve lo q vos queres.
Ahora, volviendo a tu caso q tengas esto en un char* por ejemplo:

"la casa esta vacia" Verdaderamente esto se guara con un solo '\0' q va a la derecha de la ultima a. El '\0' indica fin de "string". O sea, en un string deberia haber un solo '\0' .
Ejemplo:

char * str = new char(5);
strcpy(str, "hola");

Entonces en str tendras h, o, l, a, \0

ahora si haces esto:

*(str +2 ) = '\0';

entonces tendras esto en str = h, o, \0 . O sea, q truncaste el string. Si quisieras almacenar un \0 en medio del string deberias utilizar un caracter de escape o algo asi.

Conclusion: SI se sabe hasta donde recorrer el string

Salu2!!!!
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