Entrada/salida de archivos estilo C --- entrada/salida sin formato --- (std::fputc, std::putc, std::fputs)

El subconjunto CI/O de la biblioteca estándar de C++ implementa operaciones de entrada/salida de flujo de estilo C. El archivo de encabezado <cstdio> proporciona soporte general de archivos y proporciona funciones con capacidades de entrada/salida de caracteres estrechos y multibyte, mientras que el archivo de encabezado <cwchar> proporciona funciones con capacidades de entrada/salida de caracteres amplios.

Entrada/salida sin formato

Escribir caracteres en la secuencia de archivos

std::fputc, 
std::putc

int fputc( int ch, std::FILE* secuencia );
int putc( int ch, std::FILE* secuencia );

Escribe caracteres chen el flujo de salida dado stream.

Internamente, los caracteres se convierten a caracteres sin firmar antes de escribirlos.

En C, putc() se puede implementar como una macro, lo cual está prohibido en C++. Por lo tanto, llamar a std::fputc() y std::putc() siempre tiene el mismo efecto.

parámetro

ch - personajes para escribir
arroyo - flujo de salida

valor de retorno

En caso de éxito, devuelve el carácter escrito.

En caso de error, devuelve EOF y establece el indicador de error en la secuencia (consulte std::ferror()).

Ejemplo de llamada

#include <cstdio>

int main()
{
    for (char c = 'a'; c != 'z'; c++)
    {
        std::putc(c, stdout);
    }
    std::putc('\n', stdout);

    // putchar 的返回值不等于参数
    int r = 0x1070;
    std::printf("\n0x%x\n", r);
    r = std::putchar(r);
    std::printf("\n0x%x\n", r);
    return 0;
}

producción

Escribir cadena en flujo de archivo

std::fputs

int fputs( const char* str, std::FILE* flujo );

Escribe strcada carácter de la cadena terminada en nulo en stream, como si ejecutara repetidamente std::fputc.

strEl carácter nulo final de no está escrito .

parámetro

cadena - cadena terminada en nulo para escribir
arroyo - flujo de salida

valor de retorno

En caso de éxito, devuelve un valor no negativo.

En caso de error, devuelve EOF y activa streamel indicador de error (consulte std::ferror).

Aviso

La función relacionada std::puts agrega una nueva línea a la salida, mientras std::fputsescribe la cadena sin cambios.

Diferentes implementaciones devuelven diferentes números no negativos: algunas devuelven el último carácter escrito, otras devuelven el número de caracteres escritos (o el valor si la cadena es más larga que INT_MAX), algunas son simplemente una constante no negativa como cero.

Ejemplo de llamada

#include <cstdio>

int main(void)
{
    int rc = std::fputs("Hello World", stdout);

    if (rc == EOF)
    {
        std::perror("fputs()");    // POSIX 要求设置 errno
    }
    return 0;
}

producción

Supongo que te gusta

Origin blog.csdn.net/qq_40788199/article/details/132790857
Recomendado
Clasificación