Запись в файл Кириллицей, С

Рейтинг: 0Ответов: 0Опубликовано: 07.08.2025

столкнулся с такой проблемой, при записи информации в файл из переменной куда были введены данные на Кириллице выходят иероглифы, хотя установлена <locale.h> и кодировка UTF-8. компилятор gcc, IDE VS Code, стандарт C99. Пример кода:

    setlocale(LC_ALL, "ru_RU.UTF-8");
    // Open file
    FILE *file = fopen(file_name, "w");
    if (file == NULL)
    {
        perror("Error opening file");
        return 1;
    }
    //write to file

    if (strcmp(phone_model, "7841") == 0) {
    fprintf(file, "[%s](cisco-7841,insecure-mode)\n"
        "secret=pass%s\n"
        "callerid=\"%s\" <%s>\n"
        "description=SEP%s/%s\n"
        "context=%s\n"
        "callgroup=%s\n"
        "pickupgroup=%s\n"
        "mailbox=%s@default\n"
        "subscribe=%s*%s\n",
        phone_number, phone_number, fullname, phone_number, mac_address, fullname,
        phone_number, phone_number, phone_number, phone_number, phone_number, phone_number);}
        //else if (strcmp(phone_model, "7842") == 0) {
        //    fprintf(file, "Model: 7842\n");}
        //else {
        //    fprintf(file, "Model: %s\nInformation not available.\n", phone_model);}

        fclose(file);

Ответы

Ответов пока нет.