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

Поиск символов в файле - C++

18.11.2017, 18:50. Просмотров 176. Ответов 5
Метки нет (Все метки)

Здравствуйте, нужна помощь с заданием. "Дан текстовый файл. Создать текстовый файл, содержащий все знаки препинания, встретившиеся в текстовом файле (в том же порядке)". Написал программу, но она ищет знаки только в первой строке файла, а остальные игнорирует. Как сделать, чтобы getline() переходил на следующую строку? Или может использовать что-то другое? Заранее, спасибо за помощь
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
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{setlocale(LC_ALL,"rus");
ofstream fout;
int z, i,c, x;
char buff[400];
char Znak[]=".,?!/*-%";
ifstream fin("text.txt");
 fout.open("otvet.txt");
 
 if (fin==NULL)
    cout << "Файл не может быть открыт!\n";
 else
{
  fin.getline(buff, 400);
  for(i=0; buff[i]!='\0'; i++)
     {for(x=0; Znak[x]!='\0'; x++)
       if (buff[i]==Znak[x])
        {fout << buff[i];}
     }
  cout<< "Задание было успешно выполнено";
  fin.close();
}}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2017, 18:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск символов в файле (C++):

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

Поиск в файле заданной последовательности символов
Друзья, помогите плиз!!! Нужно написать программу поиска в файле заданной...

Поиск, считывание и замена символов в файле [C++]
И снова здраствуйте! Нужно, чтобы программа находила в файле число от 0 до...

Поиск заданной последовательности символов в бинарном файле
Допустим в файле написано &quot;raz dva tri dva raz raz dva&quot;. Нужно произвести поиск...

Поиск в текстовом файле всех слов, заданных в другом текстом файле
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом...

Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле
Имеется много папок в каждой папке есть файл proc.txt, как можно по всем этим...

5
SlavaSokolov
161 / 127 / 100
Регистрация: 14.04.2016
Сообщений: 714
18.11.2017, 18:58 #2
Сделайте цикл с такой командой.
C++
1
fin.getline(buff, 400);
0
zss
Модератор
Эксперт С++
6959 / 6521 / 4139
Регистрация: 18.12.2011
Сообщений: 17,209
Завершенные тесты: 1
18.11.2017, 19:00 #3
А почему бы в цикле не читать по одному символу?
char c;
while(!fin.get(c))
{
....
}
0
Ko1iN
0 / 0 / 1
Регистрация: 31.08.2015
Сообщений: 26
18.11.2017, 19:06  [ТС] #4
SlavaSokolov, спасибо, не думал, что можно так просто. Сделал через цикл do while()
C++
1
2
3
4
5
6
7
8
do
  {fin.getline(buff, 400);
      for(i=0; buff[i]!='\0'; i++)
     {for(x=0; Znak[x]!='\0'; x++)
       if (buff[i]==Znak[x])
        {fout << buff[i];}
     }
    }while (fin!=NULL);
0
SlavaSokolov
161 / 127 / 100
Регистрация: 14.04.2016
Сообщений: 714
18.11.2017, 19:09 #5
zss, это способ для ленивых. А в вашем случае надо много переделывать. А тут всего то строку в скобки...
0
zss
Модератор
Эксперт С++
6959 / 6521 / 4139
Регистрация: 18.12.2011
Сообщений: 17,209
Завершенные тесты: 1
18.11.2017, 20:26 #6
Цитата Сообщение от Ko1iN Посмотреть сообщение
Сделал через цикл do while()
Имейте ввиду, что последнее чтение произойдет за концом файла и в результате последняя строчка продублируется.
Это надо отсечь сразу после ввода:
C++
1
2
3
fin.getline(buff, 400);
if(!fin)
   break;
А лучше использовать

C++
1
2
3
4
5
6
7
8
9
10
11
12
while(fin.getline(buff, 400))
{
      for(i=0; buff[i]; i++)
      {
          for(int j=0; Znak[j]; j++)
            if (buff[i]==Znak[j])
            {
                 fout << buff[i];
                 break;
            }
     }
}
0
18.11.2017, 20:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2017, 20:26
Привет! Вот еще темы с решениями:

Поиск символа не могу переделать под поиск сочетания символов
Есть код программы на поиск и замену по одному символу.Не могу понять, как...

Подсчёт символов в файле.
Подскажите как посчитать количество символов в текстовом файле, какие функции...

Подсчет символов в файле
Дан текстовый файл, где в первой строке введено некоторое число N. Во второй...

Сортировка символов в файле
Люди добрые! Помогите с решение задачи :sigh: У меня что-то даже и идеи нет,...


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

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

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