11 / 6 / 3
Регистрация: 20.03.2019
Сообщений: 72
1

Открыть текстовый файл, прочитать его посимвольно, и сообщить количество символов в файле

20.08.2019, 14:59. Показов 2632. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю С++ не так давно, читаю С. Прата.
Проблема в том, что не могу понять что не так с моим кодом.
Задача состоит в следующем:
8. Напишите программу, которая открывает текстовый файл, читает его символ за символом до самого конца и сообщает количество символов в файле.

Мой код:
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
#include "pch.h"
#include <iostream>
#include <fstream>   //для чтения файла
#include <cstdlib>   //для выхода
 
int main()
{
    const int size = 60;
    char file_name[size];
    
    std::ifstream inFile;// объект для обработки файлового ввода 
    std::cout << "Enter name of data file: ";  // запрос имени файла данных 
    std::cin.getline(file_name, size);
    inFile.open(file_name); // ассоциирование inFile с файлом 
    
    if (!inFile.is_open()) 
    {
        std::cout << "Could not open the file " << file_name << "\n";
        std::cout << "Program terminating.\n";
        exit(EXIT_FAILURE);
    }   
    char v;
    int count = 0;
    inFile >> v;
    while (inFile.good())
    {
        ++count;
        inFile >> v;
    }
    if (inFile.eof())
        // достигнут конец файла 
        std::cout << "End of file reached.\n";
    else if (inFile.fail())
        // ввод прекращен из-за несоответствия типа данных 
        std::cout << "Input terminated by data mismatch.\n";
    else
        // ввод прекращен по неизвестной причине 
        std::cout << "Input terminated for unknown reason.\n";
    if (count == 0)
        // данные для обработки отсутствуют 
        std::cout << "No data processed.\n";
    else
    {
        std::cout <<"Items read: " << count; 
    }
    inFile.close();
    return 0;
}
Ошибка MSB8011 не удалось зарегистрировать выход. Попробуйте включить перенаправления регистраций пользователя или зарегистрировать компонент из командной строки, запущенной с повышенными разрешениями.

Файл, который я пытаюсь прочитать расположен в папке проекта. Для реализации задачи использую Microsoft Visual Studio 2019.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.08.2019, 14:59
Ответы с готовыми решениями:

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

Прочитать слово из файла, показать более 6 символов в файле и распечатать его в другой файл
Прочитать слово из файла, показать более 6 символов в файле и распечатать его в другой файл

Программа которая открывает текстовый файл и сообщает количество символов в файле
Напишите программу, которая открывает текстовый файл, читает его символ за символом до самого...

Создать текстовый файл и прочитать его
Создать текствоый файл и прочитать его. Помогите пожалуйста, а то завтра зачёт(((( А не понятно,...

6
15 / 13 / 3
Регистрация: 14.05.2019
Сообщений: 64
20.08.2019, 17:53 2
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
#include <iostream>
#include <fstream> //для чтения файла
#include <cstdlib> //для выхода
 
int main()
{
    const int size = 60;
    char file_name[size];
 
    std::ifstream inFile;// объект для обработки файлового ввода
    std::cout << "Enter name of data file: "; // запрос имени файла данных
 
    #ifdef _DEBUG
        strcpy(file_name, "c:\\test1.txt");
    #else
        std::cin.getline(file_name, size);
    #endif
 
    inFile.open(file_name); // ассоциирование inFile с файлом
    if (!inFile.is_open())
    {
        std::cout << "Could not open the file " << file_name << "\n";
        std::cout << "Program terminating.\n";
        exit(EXIT_FAILURE);
    }
 
    char v;
    int count = 0;
 
    inFile >> v;
 
    while (inFile.good())
    {
        ++count;
        inFile >> v;
 
        if (inFile.eof())
        {
            // достигнут конец файла
            std::cout << "End of file reached.\n";
        }
        else if (inFile.fail())
        {
            // ввод прекращен из-за несоответствия типа данных
            std::cout << "Input terminated by data mismatch.\n";
        }
        else
        {
            // ввод прекращен по неизвестной причине
            std::cout << "Input terminated for unknown reason.\n";
        }
    }
 
    inFile.close();
 
    if (count == 0)
    {
        // данные для обработки отсутствуют
        std::cout << "No data processed.\n";
    }
    else
    {
        std::cout <<"Items read: " << count;
    }
    
    return 0;
}
0
nd2
3434 / 2813 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
20.08.2019, 22:04 3
Antoniy274, тип проекта какой?

Добавлено через 9 минут
Посмотри в свойствах проекта, Компоновщик, Общие, Зарегистрировать вывод, что задано?
0
11 / 6 / 3
Регистрация: 20.03.2019
Сообщений: 72
21.08.2019, 19:02  [ТС] 4
Тип проекта консольное приложение.
В свойствах
Цитата Сообщение от nd2 Посмотреть сообщение
Зарегистрировать вывод,
стояло Нет, поменял на Да, всё-равно не работает.

Добавлено через 52 минуты
У меня помимо ошибки, есть предупреждение
MSB3073 выход из команды ""C:\Users\Админ\Desktop\Prata\glava_6\8\Debug\8.exe" /RegServer" с кодом 1.
0
11 / 6 / 3
Регистрация: 20.03.2019
Сообщений: 72
26.08.2019, 11:33  [ТС] 5
Всем спасибо, проблема решена.
0
nd2
3434 / 2813 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
26.08.2019, 11:40 6
Цитата Сообщение от Antoniy274 Посмотреть сообщение
проблема решена.
И каким способом?
0
11 / 6 / 3
Регистрация: 20.03.2019
Сообщений: 72
31.08.2019, 23:36  [ТС] 7
Решил пойти от обратного, создать такой файл в решении, а потом попробовать его прочитать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2019, 23:36
Помогаю со студенческими работами здесь

Записать в текстовый файл. Прочитать его
С помощью датчика случайных чисел сформировать матрицу (NxM). Значения N и M ввести с клавиатуры....

Прочитать текстовый файл и разбить его на части
Доброго всем времени суток. Подскажите, как можно реализовать следующую вещь: Есть текстовый...

Прочитать текстовый файл и записать его содержимое в переменную
Пытаюсь считать файл: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;script&gt; var tfile; var...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru