.\" -*- coding: UTF-8 -*- .\" Copyright (c) Bruno Haible .\" .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" Dinkumware C library reference http://www.dinkumware.com/ .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html .\" ISO/IEC 9899:1999 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MBSINIT 3 "1 Noviembre 2020" GNU "Manual del Programador de Linux" .SH NOMBRE mbsinit \- comprueba el estado inicial de cambios .SH SINOPSIS .nf \fB#include \fP .PP \fBint mbsinit(const mbstate_t *\fP\fIps\fP\fB);\fP .fi .SH DESCRIPCIÓN La conversión de caracteres entre la representación multibyte y la representación de caracteres anchos usa un estado de conversión, del tipo \fImbstate_t\fP. La conversión de una cadena usa una máquina de estados finitos. Cuando se interrumpe después de terminar la conversión de un determinado número de caracteres, puede necesitar salvar un estado para procesar los restantes caracteres. Tal estado de conversión es necesario por el bien de codificaciones tales como la ISO\-2022 y la UTF\-7. .PP El estado inicial es el estado al principio de la conversión de la cadena. Existen dos clases de estado: el que usan las funciones de conversión de multibyte a carácter ancho, tal como \fBmbsrtowcs\fP(3), y el que usan las funciones de conversión de carácter ancho a multibyte, tal como \fBwcsrtombs\fP(3), aunque ambos encajan en un \fImbstate_t\fP, y ambos poseen la misma representación para un estado inicial. .PP Para codificaciones de 8 bits, todos los estados son equivalentes al estado inicial. Para codificaciones multibyte como UTF\-8, EUC\-*, BIG5 o SJIS, las funciones de conversión de carácter ancho a multibyte nunca producen estados no\-iniciales, pero las funciones de conversión de multibyte a carácter ancho como \fBmbrtowc\fP(3) sí producen estados no\-iniciales cuando son interrumpidas a mitad de un carácter. .PP Una forma posible de crear un \fImbstate_t\fP en un estado inicial es asignarle un cero: .PP .in +4n .EX mbstate_t state; memset(&state, 0, sizeof(state)); .EE .in .PP En Linux, lo siguiente también funciona, aunque podría producir advertencias del compilador: .PP .in +4n .EX mbstate_t state = { 0 }; .EE .in .PP La función \fBmbsinit\fP() comprueba si \fI*ps\fP se corresponde con un estado inicial. .SH "VALOR DEVUELTO" \fBmbsinit\fP() returns nonzero if \fI*ps\fP is an initial state, or if \fIps\fP is NULL. Otherwise, it returns 0. .SH ATRIBUTOS Para obtener una explicación de los términos usados en esta sección, véase \fBattributes\fP(7). .TS allbox; lb lb lb l l l. Interfaz Atributo Valor T{ \fBmbsinit\fP() T} Seguridad del hilo Multi\-hilo seguro .TE .SH "CONFORME A" POSIX.1\-2001, POSIX.1\-2008, C99. .SH NOTAS El comportamiento de \fBmbsinit\fP() depende de la categoría \fBLC_CTYPE\fP de la localización actual. .SH "VÉASE TAMBIÉN" \fBmbrlen\fP(3), \fBmbrtowc\fP(3), \fBmbsrtowcs\fP(3), \fBwcrtomb\fP(3), \fBwcsrtombs\fP(3) .SH COLOFÓN Esta página es parte de la versión 5.10 del proyecto Linux \fIman\-pages\fP. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Juan Piernas y Miguel Pérez Ibars . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .