Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bartol
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 1
#1

Считывание из файла до конца строки - C++

10.05.2017, 11:41. Просмотров 279. Ответов 1

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

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
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
 
char answer = 'y';
char symbol;
char buff[50];
int k[50];
 
ifstream fin("input.txt");
ofstream fout1("input.txt");
ofstream fout2("output.txt");
 
void input()
{
    while(answer == 'y')
    {
        cin >> buff;
        fout1 << buff << endl;
        cout<<"   Do you want to continue? [y/n]   ";
        cin>>answer;
    }
}
 
void calculation()
{
    int i = 0, amount_num = 0;
    while (!fin.eof())
    {
        fin >> symbol;
        amount_num = 0;
        while (!fin.eof()&&symbol!='\n')     // не работает остановка при достижении конца строки
        {
            if(isdigit(symbol))
                amount_num++;
            else
            {
                if(amount_num > k[i])
                    k[i] = amount_num;
                amount_num = 0;
            }
            fin >> symbol;
        }
        i++;
    }
    fin.close();
}
 
void output()
{
    ifstream fin("input.txt");
    int i = 0;
    fin.getline(buff, sizeof(buff));
    while(!fin.eof())
    {
        fout2 << k[i] << " " << buff << endl;
        i++;
        fin.getline(buff, sizeof(buff));
    }
}
 
int main()
{
    input();
    calculation();
    output();
 
    fin.close();
    fout1.close();
    fout2.close();
    return 0;
}
ВВОД:
Код
          34f985fjgrt
          45ytrty5
          njy65456yhg456
          23546ygrytyt
ВЫВОД:
Код
          8 34f985fjgrt
          0 45ytrty5
          0 njy65456yhg456
          0 23546ygrytyt
P.S. Весь код скинул на случай, если кому-нибудь пригодится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2017, 11:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание из файла до конца строки (C++):

Считывание до конца файла - C++
В каждой строке файла 2 целых числа. Нужно считать по 2 числа до конца файла и выводить в каждую строку сумму этих двух чисел. Раньше...

Считывание байтов с конца файла - C++
Добрый день, уважаемые форумчане. Возник вопрос: Как считывать байты с конца файла? Конкретно: Имеется файл (.txt) в котором находится...

Обработка конца строки при загрузке из файла - C++
День добрый. Помогите, пожалуйста. Исходные данные. Есть класс: class ThingPtr { string word; vector &lt;int&gt;...

Удаление символа перевода строки из самого конца файла - C++
void SaveToFile() { ofstream out; out.open(&quot;Directory.txt&quot;); Directory.Print(size, PrintEl, out); long pos = out.tellp(); ...

Считывание строки из файла - C++
Здравствуйте Проблема такая: во время считывания строки из файла выносит из проги ifstream fin(&quot;in.txt&quot;); string word(&quot;&quot;); while...

Считывание строки из файла - C++
Пишу что-то типа простой авторизации на c++, нужно взять из файла определенную строку ( там пароли хранятся ) и сравнить с введенной. Как...

1
MrGluck
Модератор
Эксперт CЭксперт С++
7511 / 4643 / 700
Регистрация: 29.11.2010
Сообщений: 12,678
10.05.2017, 13:28 #2
При считывании
Цитата Сообщение от Bartol Посмотреть сообщение
fin >> symbol;
Пробельные символы и символ переноса строки игнорируются.
Считывайте строку сразу с помощью функции std::getline.
C++
1
2
3
4
5
std::string line;
while (std::getline(fin, line))
{
   // ...
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2017, 13:28
Привет! Вот еще темы с ответами:

Считывание строки из файла. - C++
Появилась проблема. Строка из файла считывается, но не реагирует на пробелы. И не находит конец строки. #include &lt;fstream&gt; ...

считывание строки из файла - C++
Помогите,пожалуйста,с программой. Необходимо считать из файла строку,удалить из неё предложение в скобках(включая скобки) и записать...

Считывание строки с файла - C++
Подскажите как сделать так чтобы с файла считывало не одну строку а все! #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Считывание строки из файла - C++
Здравствуйте. Есть такой класс (это упрощенный тестовый класс): class test_string { std::string s; public: test_string(const...


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

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

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