LINUX.ORG.RU

История изменений

Исправление u5er, (текущая версия) :

Тем не менее, он ставится

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <errno.h>

int main()
{
    setlocale(LC_ALL, "en_US.UTF-8");

    char buffer[100];
    wchar_t invalid_wchar = 0xD800;

    int result = sprintf(buffer, "%lc", invalid_wchar);

    if (result == -1) {
        perror("Encoding error occurred");
        printf( "Errno is %i\n", errno );
        return 1;
    }

    return 0;
}

Errno is 84

Интересное кино…

EILSEQ 84 Неверный или неполный мультибайтный или широкий символ

Исходная версия u5er, :

Тем не менее, он ставится

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <errno.h>

int main()
{
    setlocale(LC_ALL, "en_US.UTF-8");

    char buffer[100];
    wchar_t invalid_wchar = 0xD800;

    int result = sprintf(buffer, "%lc", invalid_wchar);

    if (result == -1) {
        perror("Encoding error occurred");
        printf( "Errno is %i\n", errno );
        return 1;
    }

    return 0;
}

Errno is 84

Интересное кино…