Загрузка...

Как заставить Visual Studio читать русский текст в файле?

Тема в разделе C/C++ создана пользователем Смешарик 18 апр 2024. 171 просмотр

Загрузка...
  1. Смешарик
    Смешарик Автор темы 18 апр 2024 ПРОДАМ СМЕШАРИКА https://lolz.live/threads/8102318/ :kirbi: 2487 21 май 2020
    С английским текстом все нормально, а вот с русским начинает писать иероглифы. Поставил русскую локализацию, но это помогает только в коде, а в файле все равно не может прочитать.
    CPP
    #include <iostream>
    #include <fstream>
    #include <string>

    using namespace std;

    int main() {
    setlocale(LC_ALL, "Russian");
    string inputFileName = "text.txt";
    string outputFileName = "result.txt";
    string line;
    int lineNumber = 0, maxLineLength = 0, longestLineNum = 0;

    // Чтение из входного файла
    ifstream inputFile(inputFileName);
    // Вывод исходного текста на экран
    cout << "Исходный текст из файла '" << inputFileName << "':" << endl;
    while (getline(inputFile, line)) {
    lineNumber++;
    cout << "Строка " << lineNumber << ": " << line << endl;

    // Подсчет длины строки
    int currentLineLength = line.length();
    if (currentLineLength > maxLineLength) {
    maxLineLength = currentLineLength;
    longestLineNum = lineNumber;
    }
    }
    inputFile.close();

    // Вывод результата на экран
    cout << "\nСамая длинная строка находится в строке " << longestLineNum << endl;

    // Запись результата в файл
    ofstream outputFile(outputFileName);
    outputFile << "Самая длинная строка находится в строке " << longestLineNum << endl;
    outputFile.close();

    cout << "Результат обработки сохранен в файл '" << outputFileName << "'" << endl;

    return 0;
    }
    [IMG]
     
    18 апр 2024 Изменено
    1. Смешарик Автор темы
      Смешарик, крч я нашел решение, С++ нормально читает кириллицу только если текстовый документ сохранен в кодировке ANSI. В обычном блокноте нужно нажать "Сохранить как" и в кодировке выбрать ANSI (не забудьте поставить русскую локализацию в самом коде setlocale(LC_ALL, "RU"))
      [IMG]
  2. Sokk0l
    Попробуй открывать файл говоря что там кодировка utf-8
     
    1. Смешарик Автор темы
      Sokk0l, а как это сделать?
Top