Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 21

Считать строку из файла и преобразовать все буквы в нижний регистр

06.05.2022, 18:07. Показов 556. Ответов 10

Студворк — интернет-сервис помощи студентам
Функция должна считывать данные из файла и преобразовывать все заглавные буквы в прописные, но она почему-то с последним пунктом не справляется совершенно. С tolower не получается тоже

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <cctype>
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
 
using namespace std;
void read_word(std::vector <std::string> &word)
{
    string  str;
    ifstream dictionary("words.txt");
    if (dictionary.is_open())
    {
      while(getline(dictionary,str))
      {
          std::copy(std::istream_iterator<std::string>(dictionary), std::istream_iterator<std::string>(), std::back_inserter(word));
          vector <string> lc = { "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "э", "ю", "я" };
              vector <wchar_t> uc   = {L'А', L'Б', L'В', L'Г', L'Е', L'Ё', L'Ж', L'З', L'И', L'Й', L'К', L'Л', L'М', L'Н', L'О', L'П', L'Р', L'С', L'Т', L'У', L'Ф', L'Х', L'Ц', L'Ч', L'Ш', L'Щ', L'Э', L'Ю', L'Я'};
              for (int i = 0; i <= str.length() - 1; i++) {
                  for (int u = 0; u <= uc.size() - 1; u++) {
                      if (str[i] == uc[u]) {
                          str.replace(i, 1 , lc[u]);
                      }
                  }
              }
          word.push_back(str);
      }
       dictionary.close();
    }
    else
    {
        cout<<":("<<endl;
    }
}
 
int main()
{
    vector <string> word;
read_word(word);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2022, 18:07
Ответы с готовыми решениями:

Преобразовать все буквы введенной строки в нижний регистр
Надо написать программу которая будет просить ввести строку символов , после этого он печатает её на экране 1) все буквы в нижнем...

Преобразовать строку в нижний регистр
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; using namespace std; char sgls = {...

Выведете строку «свое ФИО». Затем переведите все буквы в нижний регистр и добавьте два пробела между словами вместо одно
Выведете строку «свое ФИО». Затем переведите все буквы в нижний регистр и добавьте два пробела между словами вместо одного. Последней...

10
404 / 261 / 168
Регистрация: 13.01.2021
Сообщений: 1,162
06.05.2022, 18:23
Jumagazieva, пробывали добавить библиотеку
C++
1
Windows.h
и функции
C++
1
SetConsoleCp и SetConsoleOutputCP
Должно после них работать.

Добавлено через 4 минуты
Jumagazieva, ой глянул вашу программу, капец)
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 21
06.05.2022, 18:46  [ТС]
У меня Юникс,так что библиотека не поможет
tolower должен решать в одну строчку, но у меня не получается даже после того, как строку преобразовываю в wchar_t
0
404 / 261 / 168
Регистрация: 13.01.2021
Сообщений: 1,162
06.05.2022, 18:53
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <fstream>
#include <vector>
#include <Windows.h>
using namespace std;
void ReadTextFile(vector<string> &lines){
    vector <char> uc = {'А', 'Б', 'В', 'Г', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Э', 'Ю', 'Я'};
    ifstream R("1.txt");
    std::string line;
    if(R.is_open()){
        while(getline(R, line)){
            for(int i = 0; i < line.length(); ++i){
                for(int j = 0; j < uc.size(); ++j){
                    if(line[i] == uc[j])
                    line[i] += 32;
                }
            }
            lines.push_back(line);
        }
    }
}
int main(){
    setlocale(LC_CTYPE, "rus");
    vector<string> lines;
    ReadTextFile(lines);
    for(const auto& i : lines){
        cout << i << endl;
    }
    return 0;
}
Добавлено через 6 минут
Jumagazieva, ах да поработайте ещё с буквой ё. Я не доделал на неё
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 21
06.05.2022, 18:57  [ТС]
Как в нижний регистр не переводил, так и не переводит
0
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
06.05.2022, 18:59
Цитата Сообщение от Jumagazieva Посмотреть сообщение
заглавные буквы в прописные
Вы уверены, что именно это требуется?
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 21
06.05.2022, 19:06  [ТС]
У меня есть два файла. В один файл я записываю текст, в другом файле находятся слова(то есть это файл словарь), с которыми сравнивается текст из первого файла. Если в тексте нет слова из словаря, то нужно вывести сообщение и слово, которое не найдено.
Я записываю текст в файл, после разбиваю этот текст на отдельные слова и перевожу все заглавные буквы в строчные, потом перезаписываю неповторяющиеся слова в новый вектор и сравниваю элементы нового вектора со словами из словаря. Поэтому мне необходимо слова из словаря перевести в нижний регистр.
0
 Аватар для Наталья8
523 / 373 / 66
Регистрация: 09.03.2016
Сообщений: 3,960
07.05.2022, 01:02
У символа есть кот..
обычно что то прибавляют, или отнимают, и получают.
Зачем вводить символы?

https://www.cyberforum.ru/atta... 1651874533
Миниатюры
Считать строку из файла и преобразовать все буквы в нижний регистр  
0
 Аватар для Наталья8
523 / 373 / 66
Регистрация: 09.03.2016
Сообщений: 3,960
07.05.2022, 01:13
Ну да... там думать надо.

Добавлено через 6 минут

Есть там три строчки, а вы что то самовыразились... кошмар...

Добавлено через 17 секунд
0
 Аватар для Наталья8
523 / 373 / 66
Регистрация: 09.03.2016
Сообщений: 3,960
07.05.2022, 01:17
https://www.cyberforum.ru/atta... 1651875410
Миниатюры
Считать строку из файла и преобразовать все буквы в нижний регистр  
0
 Аватар для Наталья8
523 / 373 / 66
Регистрация: 09.03.2016
Сообщений: 3,960
07.05.2022, 01:20
Не принимает он эти ссылки.
загуглить просто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2022, 01:20
Помогаю со студенческими работами здесь

Преобразовать текст файла в нижний регистр
Записать в данный файл все слова в том же порядке но большие латинськилитеры заменить на малые . помогите решить очень нужно...

Все заглавные буквы строки нужно перевести в нижний регистр
Нужно составить функцию, принимающую аргумент типа string и проводящую над ним некоторые действия: во-первых, все заглавные буквы нужно...

Разбить строку на массив строк и перевести их все в нижний регистр
Подскажите пожалуйста, правильно ли выполнено задание Само задание Дана строка, которая содержит имена пользователей, разделенные...

В каждой строке файла сделать первую букву заглавной, остальные буквы перевести в нижний регистр
Всем приветы! Ребята, появилась у меня такая вот задача, как решить не очень понимаю. Помооооогите!))) Имеется текстовый файл, в нем...

Перевести первую букву в верхний регистр, а все остальные в нижний регистр
Всем привет. Ниже написаная функция должна переводить первую букву переводить в верхний регистр, а все остальные в нижний регистр. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru