Форум программистов, компьютерный форум CyberForum.ru

Чтение текста из файла - C++

Восстановить пароль Регистрация
 
Михаил Мамаев
1 / 1 / 0
Регистрация: 28.10.2014
Сообщений: 34
25.11.2014, 19:51     Чтение текста из файла #1
Здравствуйте. У меня есть задание по С++ и один из его аспектов - это поиск программой текстового файла внутри папки с проектом VS2013 и предложение ввести имя желаемого файла в командной строке. Если программа находит этот файл - она читает из него текст и все хорошо. Если нет - то выдает "Error". По идеи, все уже готово, но есть одно НО, которое я не учел. Это запрещенные имена файлов (такие как con и пр.). Т.е. при их вводе никакой ошибки не выдает. Каким образом это можно учесть? Заранее спасибо.
Ниже начало тела программы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 int main()
        {
        string text;
    string f_name;
    cout << "Enter file name: ";               //сообщение о необходимости ввести желаемое имя файла
    getline(cin, f_name);                        //ввод имени файла
    ifstream ifs(f_name);                      //программа ищет заданный файл и читает из него текст
    if (!ifs)                                        //условие, если такого файла не существует
    {
        cout << "Error." << endl;         //вывести сообщение об ошибке
        system("pause");                 
        return 1;                     
    }
        ...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maritux
Заблокирован
25.11.2014, 20:08     Чтение текста из файла #2
C++
if ( f_name == string("con") ) 
    cout << "Ошибка\n";
Михаил Мамаев
1 / 1 / 0
Регистрация: 28.10.2014
Сообщений: 34
25.11.2014, 20:10  [ТС]     Чтение текста из файла #3
maritux, спасибо. Просто я уже думал об этом, но неужели в с++ нет других запрещенных имен кроме как con?
maritux
Заблокирован
25.11.2014, 20:41     Чтение текста из файла #4
Михаил, по-моему проверка на запрещенные имена совсем не нужна, потому что файлов с такими именами не существует и программа просто должна сообщить о том, что не нашла файл.
Михаил Мамаев
1 / 1 / 0
Регистрация: 28.10.2014
Сообщений: 34
26.11.2014, 07:33  [ТС]     Чтение текста из файла #5
maritux, я тоже так думал. Но при вводе того же con она никак не реагирует. Т.е. никакого "Error" она не выводит. Причем при вводе других рандомных имен (кроме, конечно, имени моего текстового файла) программа реагирует нормально и выводит "Error".

Добавлено через 7 минут
maritux, только что попробовал nul. Такая же реакция, т.е. без Error предлагает нажать любую клавишу для выхода.

Добавлено через 10 часов 40 минут
Неужели никто не поможет? Самое банальное, что я написал, это:
C++
1
if ((f_name == string("con")) ||  (f_name == string ("nul")))
Но я уверен, сществуют еще много таких же имен, с которыми могут возникнуть проблемы. Существует ли команда, которая это исправляет?
Yandex
Объявления
26.11.2014, 07:33     Чтение текста из файла
Ответ Создать тему
Опции темы

Текущее время: 04:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru