Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 27.12.2018
Сообщений: 53
1

Каким должен быть файл и где он должен находиться?

15.01.2019, 00:01. Просмотров 660. Ответов 4


Нашёл код, который берёт текстовый файл, читает его и выбирает слова, в которых есть такая же часть, которую ты ввел. Я вижу file("input.txt."... Но если я называю файл также, он пишет ошибку. Как это исправить, каким должно быть название файла и где он должен находиться? Вот код:

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <vector>
#include <algorithm>
#include <locale>
#include <codecvt>
#include <windows.h>
 
using namespace std;
 
LARGE_INTEGER qwe, Init, Fin;
int main() {
    setlocale(LC_ALL, "russian");
    bool allowedCount = true;
 
    basic_fstream<wchar_t> file("input.txt", ios_base::in);
    if (!file.is_open())
    {
        cout << "Файл не открыт!" << endl;
        system("pause");
        return 1;
    }
    locale UTF8(locale(file.getloc(), new codecvt_utf8<wchar_t, 0x10ffffUL, codecvt_mode::consume_header>));
    file.imbue(UTF8);
    wcin.imbue(UTF8);
    wcout.imbue(UTF8);
    setlocale(0, ".1251");
    SetConsoleCP(1251);
    //SetConsoleOutputCP(1251);
 
    const wstring exclude = L"!()*,./0123456789:;=?«°»…№";
    for (; ; )
    {
        system("cls");
        file.seekg(0);
        file.clear();
        wstring sample;
        wcin >> sample;
        while (sample.length() < 3)
        {
            system("cls");
            wcout << sample;
            wstring temp = L"";
            wcin >> temp;
            sample += temp;
        }
 
        if (allowedCount)
            QueryPerformanceCounter(&Init);
 
        map <wstring, unsigned int> word_map;
        while (!file.eof())
        {
            wstring temp;
            file >> temp;
            for (string::size_type pos = 0; pos != string::npos; )
            {
                pos = temp.find_first_of(exclude, pos);
                if (pos != string::npos)
                    temp.erase(pos, 1);
            }
            if (temp.find(sample) != string::npos)
            {
                word_map[temp]++;
            }
        }
        vector<pair<wstring, unsigned int>> word_vect(word_map.begin(), word_map.end());
        sort(word_vect.begin(), word_vect.end(),
            [](const pair<wstring, unsigned int>& l, const pair<wstring, unsigned int>& r) -> bool
        {
            if (l.second != r.second)
                return l.second > r.second;
            else return l.first < r.first;
        });
        if (allowedCount)
        {
            QueryPerformanceCounter(&Fin);
            cout << "Длительность: " <<
                static_cast<double>((static_cast<double>(Fin.QuadPart - Init.QuadPart)) / static_cast<double>(qwe.QuadPart))
                << " секунд" << endl;
        }
 
        const unsigned short int len = word_vect.size() > 20 ? 20 : word_vect.size();
        if (len)
            for (unsigned short int i = 0; i < len; ++i)
                wcout << word_vect[i].first << endl;
        else cout << "Не найдено!" << endl;
        system("pause");
    }
    file.close();
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2019, 00:01
Ответы с готовыми решениями:

Где должен находиться файл res?
есть файл res и его надо как-то подключить . куда его положить? в папку проекта? в документации...

Где должен находиться файл, чтоб программа его открыла, или как указывать его имя?
Пытаюсь работать с файлами. Объясните, пожалуйста, где должен находиться файл, чтоб программа его...

Где должен быть текстовый файл, чтобы программа читала с него текст
Вот куда мне поместить файл &quot;input.txt&quot; чтобы прога читала с него текст? int Length() { ...

Описать абстрактный класс породить от него еще два,один должен остаться абстрактным,другой должен быть способен пораждать объекты
Знает кто как сделать?

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
4
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
15.01.2019, 01:52 2
Путь относительный. Файл должен находиться в "текущей"/"рабочей" директории.
0
57 / 42 / 15
Регистрация: 06.03.2018
Сообщений: 183
15.01.2019, 08:32 3
Цитата Сообщение от White Fox Посмотреть сообщение
каким должно быть название файла
input.txt

Цитата Сообщение от White Fox Посмотреть сообщение
где он должен находиться?
Либо рядом с исполняемым файлом (в рабочей дериктории), либо в любой папке указанной в системной переменной среды "PATH"
0
874 / 332 / 76
Регистрация: 17.05.2015
Сообщений: 1,023
15.01.2019, 10:59 4
Цитата Сообщение от galeks1 Посмотреть сообщение
Либо рядом с исполняемым файлом (в рабочей дериктории)
Рядом с исполняемым файлом - это далеко не тоже самое, что в рабочей директории.

Цитата Сообщение от galeks1 Посмотреть сообщение
либо в любой папке указанной в системной переменной среды "PATH"
Что за бред?

Цитата Сообщение от White Fox Посмотреть сообщение
Как это исправить
Файлик должен быть в рабочем каталоге.
Если вы запускаете из вижуал студии, то по дефолту,
рабочий каталог - каталог сборки, а не там, где exe находится.

В этом случае можно:
1.
Расположить копию файлика там же, где находятся файлы проекта.

2.
Запускать приложение не из IDE.

3.
Изменить дебаг-настройку запуска приложения из IDE
0
57 / 42 / 15
Регистрация: 06.03.2018
Сообщений: 183
15.01.2019, 11:07 5
eva2326,
Цитата Сообщение от eva2326 Посмотреть сообщение
Что за бред?
хм... действительно... это справедливо для исполняемых файлов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2019, 11:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Полиморфизм. Где он должен быть
в коде отсутствует полиморфизм, он должен быть в main. но все вроде сделано верно вот...

Операнд * должен быть указателем
Господа знатоки, объясните пожалуйста дураку, на что ругается компилятор и в чём смысл этих...

Какой тип должен быть у функции?
Сделал ф-цию, которая считывает файла и записывает результат работы с данными в vector. решил...

Определить, когда должен быть звонок
Здравствуйте. На днях решал задачу под названием &quot;Звонок&quot;. Собственно, вот условие задачи: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.