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

Почему полностью не считывает текстовый файл? - C++

19.12.2015, 15:46. Просмотров 312. Ответов 8
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "Rus");
 
    string str;
 
    ifstream ifile("tele.txt");
    ofstream ofile("sk.txt");
    while (ifile >> str)
    {
        if (str[0] == 'к' || str[0] == 'м')
            
            ofile << str << endl;
    }
 
    ifile.close();
    ofile.close();
 
    return 0;
}
Почему полностью не считывает текстовый файл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2015, 15:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Почему полностью не считывает текстовый файл? (C++):

Почему не считывает весь файл?
Считывает только часть файла (приблизительно 29 строк любого тхт файла)....

Как полностью считать текстовый файл в массив символов?
ifstream file(name); char line; char *text = new char; char symbol; int i =...

Как записать числовую матрицу в текстовый файл полностью?
Всем доброго времени суток! У меня в лабе есть три задания: записать матрицу в...

Не считывает полностью
Не считывает с файла всё или не записывает, не могу разобраться. Файл состоит...

Программа не считывает с файла текст полностью
Делаю алфавитно-частотный словарь, и во время передачи всех символов из файла в...

Что считывает ifstream: слово до пробела или полностью строку?
если я запишу вот так, то что будет считываться в данном случае string...

8
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
19.12.2015, 16:05 #2
Что значит "полностью не считывает"? Пробелы не читает, или что?
0
Noops
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
19.12.2015, 16:09  [ТС] #3
переписывает во второй файл не все строки по заданному условию
0
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
19.12.2015, 16:13 #4
Цитата Сообщение от Noops Посмотреть сообщение
переписывает во второй файл не все строки по заданному условию
Ты, вообще, не строки читаешь и записываешь, а слова. В курсе об этом?

Добавлено через 1 минуту
Покажи, что в файле, и что нужно сделать.
0
Noops
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
19.12.2015, 16:15  [ТС] #5
Текстовый файл содержит записи о телефонах и их владельцах. Переписать в другой файл телефоны тех владельцев, фамилии которых начинаются с букв К и С
0
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
19.12.2015, 16:25 #6
Цитата Сообщение от nord_v Посмотреть сообщение
Покажи, что в файле
???
0
Noops
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
19.12.2015, 16:57  [ТС] #7
Самойлов_89271247545
Моисеев_892712475453
Нестеров_89271425455
Молчанов_89064454545
Королёв_84645452124
Некрасов_5454542454
Морозов_454542424
Муравьёв_24542424
Самсонов_242424
Костин_89275454
Куликов_4547842
Лаврентьев_45452421
Сидоров_45421424
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,180
Записей в блоге: 1
Завершенные тесты: 2
19.12.2015, 17:03 #8
Noops, Считывай функцией getline( std::ifstream, std::string );
1
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
19.12.2015, 17:13 #9
Сам так придумал или по заданию должно так быть? Лучше фамилию и номер разделить. Что в другой файл нужно записать: только номера определённых фамилий, или определённую фамилию и номер?

Добавлено через 1 минуту
Цитата Сообщение от makfak Посмотреть сообщение
Noops, Считывай функцией getline( std::ifstream, std::string );
Если такое содержимое, то строку из одного слова (а у него так) и оператор >> так же считает, как и getline().

Добавлено через 6 минут
Код у тебя, в общем-то, рабочий. У меня такое записывает в другой файл:
Моисеев_892712475453
Молчанов_89064454545
Королёв_84645452124
Морозов_454542424
Муравьёв_24542424
Костин_89275454
Куликов_4547842
Только замени буквы, с которыми сравниваешь, на прописные (у тебя в коде они строчные), и проверь, чтобы они у тебя русскими были, а не английскими.
0
19.12.2015, 17:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2015, 17:13
Привет! Вот еще темы с решениями:

считываю текстовый файл в строку, программа вылетает на ровном месте, почему?
Друзья! Вот код #include &lt;windows.h&gt; #include &lt;vector&gt; #include &lt;iostream&gt;...

Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке максимальное число и записать результаты в новый текстовый файл
Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке...

Текстовый файл UTF-8 сохранить как текстовый файл ANSI
Есть текстовый файл в UTF-8 Нужно рядом сохранить его же, но в ANSI Как...

Почему не считывает?
Вот код: int range = 3638; double *svchlen = new double ; ifstream...


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

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

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