При вводе: "CON.[любые символы]" или "con.[любые символы]", программа ломается. - Компьютерные вопросы
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос При вводе: "CON.[любые символы]" или "con.[любые символы]", программа ломается.

Регистрация
30 Окт 2012
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
Всем добра! Я наконец собрал программу, она работает. Но без появления новых проблем не обошлось.
При вводе: "CON.[любые символы]" или "con.[любые символы]", программа ломается. Я добавил цикл для проверки на ввод "CON". Но видимо что-то опять я сделал не так. Цикл для проверки не работает.
Программа собственно:
// Лабораторная_№3.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include
#include
#include
#include
#include
using namespace std;
int main() {
setlocale(LC_ALL, "RUS");
string name;
cout << "Файл:";
while (true) {
cin >> name; // abc.txt например
string nameLow = name; // Приводим к нижнему регистру, чтобы учесть Con, cON и т. д.
transform(name.begin(), name.end(), nameLow.begin(), ::tolower);
if (nameLow == "con" || nameLow == "con.")
{
cout << "Вы ввели запрещённое имя!" << endl;
cout << "Вводите верный путь до файла." << endl;
return 0;
}
else break;
}
ifstream ff(name.c_str());
if (ff) {
transform(istream_iterator(ff), istream_iterator(), ostream_iterator(cout, " "), [](const string s) {
string str;
transform(s.begin(), s.end(), back_inserter(str), [](const char &c) {
return (char)(c + 1);
});
return str;
});
ff.close(); cout << " ";
}
else cout << "Файл не найден! ";
cout << "Укажите верный путь к файлу. ";
return 0;
}
//otvet.imgsmail.ru/download/52128439_6052d1e2886d864d7ab7579c3b4d6a4a_120x120.png//otvet.imgsmail.ru/download/52128439_c1400c24419b1d10d055d9f0d25c4052_120x120.png
 
Сверху Снизу