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

Программа не считывает с файла текст полностью

07.04.2015, 07:25. Показов 2650. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю алфавитно-частотный словарь, и во время передачи всех символов из файла в строку(дабы дальше я с помощью токенов строку разделил) у меня почему-то цикл при EOF прекращается....

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
#include <iostream>
#include <fstream>
#include <locale> 
#include "head.h"
#include <cstdio>
 
using namespace std;
 
int main()
{
system("CLS");
setlocale(LC_ALL,"rus");
 
 
char *new_word;             // Новое слово
 
FILE *in;                   // Исходный файл
in = fopen("input.txt", "r");   //Открываем файл
 
 
int i=0;    //Для подсчёта кол-ва символов в файле
if(in != NULL)  //если файл удалось открыть
{
    //char ch;  //Чтобы работать с символом
    //while((ch = getc(in)) != EOF) //пока не дойдём до конца файла
    //  i++;        //Получаем кол-во символов, чтобы позже выделить память динамически
    //cout << i ;
 
    // перемотать на конец файла
 
    fseek( in, 0, SEEK_END );
 
    // получить размер файла
    i = ftell( in );
    cout << i;
    
} 
else
{
    cout << "Файла нету... Обидка :(";
}
 
char *stroka = "\0";
stroka = new char[++i];
memset(stroka, '\0', sizeof(char)*i);   // Заполнение массива '\0'
 
fseek(in , 0, SEEK_SET); //перекиываем каретку в начало
 
char ch;
int z = 0;
while((ch = getc(in)) != EOF)
    stroka[z++] = tolower(ch); //ВОТ В ЭТОМ МЕСТЕ у меня программа должна проходить по всему тексту файла, но почему-то берёт только "asd q q q q q Название Название <Велика", а дальше выходит из цикла и другой текст не читает... 
stroka[z] = '\0';
 
 
 
system("pause");
delete []stroka; //Очищаем память
 
}
В чём проблема?
Вот пример текста:
"
asd q q q q q Название Название <Великая война> стало использоваться в СССР после радиообращения Сталина к народу 3 июля 1941 года[2]. В обращении эпитеты <великая> и <отечественная> употребляются раздельно[3]. В 1914-1915 гг. название <Великая Отечественная война> иногда применялось в неофициальных публикациях к Первой мировой войне[4]. Впервые это словосочетание было применено к войне СССР с Германией в статьях газеты <Правда> от 23 и 24 июня 1941 года[5][6] и поначалу воспринималось не как термин, а как одно из газетных клише, наряду с другими подобными словосочетаниями: <священная народная война>, <священная отечественная народная война>, <победоносная отечественная война>. Термин <Отечественная война> был закреплён введением военного Ордена Отечественной войны, учреждённого Указом Президиума Верховного Совета СССР от 20 мая 1942 года. Наименование сохраняется в постсоветских государствах (укр. Велика Вітчизняна війна, белор. Вялікая Айчынная вайна, абх. Аџьынџьт?ылат?и Еибашьра ду и др.). В странах, не входивших в состав СССР, где русский язык не является основным языком общения, название <Великая Отечественная война> практически не используется. В англоязычных странах его заменяет термин - Eastern Front (World War II) (восточный фронт (второй мировой войны)), в немецкой историографии - Deutsch-Sowjetischer Krieg, Russlandfeldzug, Ostfeldzug (немецко-советская война, русский поход, восточный поход).
"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.04.2015, 07:25
Ответы с готовыми решениями:

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

Обрабатываемый текст программа считывает из файла
// программа считывает текст с консоли(то есть те, которые мы вводим), как сделать, чтобы она считывала с файла? #include...

программа, которая считывает текст из файла
Написать программу, которая считывает текст из файла и выводит на экран толь* ко предложения, содержащие заданное с клавиатуры слово. ...

22
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
11.04.2015, 15:37
Лучший ответ Сообщение было отмечено BabaSveta как решение

Решение

Студворк — интернет-сервис помощи студентам
А '\n' и '\t' почему нет среди разделителей? И для чего '\b'?
1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
11.04.2015, 15:56
Цитата Сообщение от BabaSveta Посмотреть сообщение
решение этой проблемы.
Выбросить и написать правильно.

concordancer
Concordancer - a program to make concordances for text files
Вложения
Тип файла: 7z result.txt.7z (3.7 Кб, 4 просмотров)
0
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153
11.04.2015, 15:58  [ТС]
ну я дебил... Да, ошибся с \b, поменял на \n \t всё заработало нормально!))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2015, 15:58
Помогаю со студенческими работами здесь

программа, которая считывает текст из файла
Здравствуйте все, подкажите с программой: необходимо написать программу на языке С#, которая считывает текст из файла и выводит на экран...

Программа, которая считывает текст из файла и выводит его на экран
Помогите, пожалуйста, перевести код из С в C# Задание: Программа, которая считывает текст из файла и выводит его на экран, после...

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

программа считывает английский текст из файла и выводит на экран слова начинающиеся с гласных букв
3) Написать программу, которая считывает английский текст из файла и выводит на экран слова начинающиеся с гласных букв. Очень нужно

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


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru