Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
coldmind
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 29
14.09.2012, 03:06     Считать файл в массив без лишних символов #1
здравствуйте.
нужна правильная реализация задачи:
на вход подается файл, примерное содержание - "Hello, username! etc. etc."
на выходе нужно получить массив, содержащий только слова, без
лишних символов типа ',.?:! \' - {'Hello', 'username', 'etc', 'etc'}

Помогите с правильным решением.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 03:06     Считать файл в массив без лишних символов
Посмотрите здесь:

C++ Считать с клавиатуры строку символов и записать ее в файл
C++ Сохранить массив в файл а потом считать его из файла
C++ Как правильно считать побайтово файл в массив
Выводи лишних символов в файл C++
Считать строку в массив символов, который является членом класса C++
Файл: Считать все числа из файлав динамический массив C++
C++ Вывод массива char без лишних символов
Удаление лишних символов C++
Считать массив, который заканчивается 0, и сосчитать количество символов в нём C++
Вывод лишних символов в строке C++
Считать из файла в массив без делиметра C++
C++ Считать файл в массив байт (считывается не с начала)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
14.09.2012, 04:16     Считать файл в массив без лишних символов #2
Ну и в чем проблема?
Читаешь весь фаил в память.
Создаешь второй такой-же массив.
Копируешь туда все что надо.
И все. ^_^
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.09.2012, 06:52     Считать файл в массив без лишних символов #3
Как вариант:
Код
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;
}
Миниатюры
Считать файл в массив без лишних символов  
Yandex
Объявления
14.09.2012, 06:52     Считать файл в массив без лишних символов
Ответ Создать тему
Опции темы

Текущее время: 10:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru