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

Считать файл в массив без лишних символов

14.09.2012, 03:06. Просмотров 749. Ответов 2
Метки нет (Все метки)

здравствуйте.
нужна правильная реализация задачи:
на вход подается файл, примерное содержание - "Hello, username! etc. etc."
на выходе нужно получить массив, содержащий только слова, без
лишних символов типа ',.?:! \' - {'Hello', 'username', 'etc', 'etc'}

Помогите с правильным решением.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 03:06
Ответы с готовыми решениями:

Запись объекта в файл без лишних символов
Добрый день. Изучаю запись/чтение данных в файл и столкнулся с такой проблемой....

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

Вывод массива char без лишних символов
В коде имеется массив, объявленный: char text; далее в коде следует вывести...

Выводи лишних символов в файл
Не знаю почему, но в файл печатаются лишнbе символы 'H', а на экран нормально...

Вывести исходную строку без лишних пробелов и символов переноса строки
Напишите программу, которая удаляет лишние пробелы - в начале строки не может...

2
ProNoooob
76 / 76 / 8
Регистрация: 14.10.2009
Сообщений: 121
14.09.2012, 04:16 2
Ну и в чем проблема?
Читаешь весь фаил в память.
Создаешь второй такой-же массив.
Копируешь туда все что надо.
И все. ^_^
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.09.2012, 06:52 3
Лучший ответ Сообщение было отмечено coldmind как решение

Решение

Как вариант:
Код
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
#include <iostream> 
#include <fstream>  
#include <stdlib.h>
#include <string> 
#include <vector>
#include <cctype> // для isalnum()
using namespace std;
 
int main()
{
  vector<string> vec; //для хранения строк
  
  fstream f("inputfile.txt");
  if (!f.is_open()) cout << "Error!" << endl;
  else
  {
     while (!f.eof()) //чтение из файла строк
     {
        string temp1;
        string temp2;
        
        getline(f, temp1); //читаем из файла строку
        cout << temp1 << endl; //выводим строку
        
        for (int i = 0; i < temp1.size(); i++)
        {
            if (isalnum((unsigned char)temp1[i]) || temp1[i] == ' ') //сохраняем только буквы-цифры и по одному пробелу.
            {
                if (temp1[i] == ' ' && temp2.empty()) continue;
                if (temp1[i] == ' ' && *(temp2.end() - 1) == ' ' ) continue;
                temp2.push_back(temp1[i]);
            }
        }
        vec.push_back(temp2); //сохраняем обработанную строку
    }
    
    f.close();
    
    cout << endl;
    for (int i = 0; i < vec.size(); i++) //выводим то, что получилось
          cout << vec[i] << endl;
  }     
  
  cout << endl; 
  system("pause");
  return 0;
}
1
Миниатюры
Считать файл в массив без лишних символов  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2012, 06:52

Считать с клавиатуры строку символов и записать ее в файл
плизз киньте код

Считать из файла в массив без делиметра
Есть файл с содержимым 1|2|3|4|5. Нужно считать из него эти числа и записать в...

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


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

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

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