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

Функция getline(). Как исключить знаки препинания (символы)? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Регулярные выражения в с++ http://www.cyberforum.ru/cpp-beginners/thread645330.html
Рылся рылся, нигде не нашел... Кто нибудь, объясните: 1) как установить эту библиотеку Regex. 2) Как заставить её работать. 3) И простой пример кода Пользуюсь visual 2010 там есть библиотека...
C++ Нужно сделать алгоритм, решающий задачу за время н Всем привет! Есть задача: Исходные данные В первой строке записано целое число N — количество бильярдных шаров (1 ≤ N ≤ 100000). В следующих N строках даны номера этих шаров в том порядке, в... http://www.cyberforum.ru/cpp-beginners/thread645327.html
C++ Работа с текстовыми файлами в С++
Здравствуйте. На лето задали написать прогу в среде visual studio c++, но этот предмет у меня закончился зимой и я конечно уже забыл значительную часть этого языка. Поиск в интернете ничего более...
C++ исправление ошибок
//funkcijas1 #include <iostream> using namespace std; int main() { int i, fact=1, n; cout <<"Введите целое число в диапазоне от 1 до 12!" << endl; cin>>n; for (i=1; i<=n; i++)
C++ Поток с GetMessage http://www.cyberforum.ru/cpp-beginners/thread645264.html
Привет всем. У меня в программе в отдельном потоке имеется такой код: while(GetMessage(&msg,0,0,0) { TranslateMessage(&msg); DispatchMessage(&msg); } Из основной программы я запускаю этот...
C++ Значение переменных Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Значения всех переменных определить по таблице 1. Результат выдать в форме таблицы значений X иY. Для таблицы... подробнее

Показать сообщение отдельно
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.09.2012, 16:45
Ещё раз, как в файле записи выглядят ? И как считанное должно выглядеть? Не совсем понял.

Добавлено через 23 минуты
Например, такая конструкция будет считывать из файла отдельные слова и сохранять считанное слово в другом массиве без знаков пунктуации:
Код
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cctype> // для ispunct()
using namespace std;
 
int main()
{
  fstream f("1.txt");
  do
  {     
        char buff[30] = "\0"; // массив для считывания слова из файла 
        char rezult[30] = "\0"; // здесь будет слово уже без знаков пунктуации
        f >> buff; // чтение до пробельного символа 
        if (!f) break; // если конец файла
        // перебор символов в buff
        for (int i = 0; i < strlen(buff); i++)
        {
            if (!ispunct((unsigned char)(buff[i]))) rezult[i] = buff[i]; // если символ не знак пунктуации, то в rezult
            cout << rezult[i];
        }
        cout <<endl; // здесь можно использовать считанное и обработанное слово из файла. 
        
  } while (true);
 
  system("pause");
  return 0;
}

Если посимвольно читать, то можно так:
Код
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cctype> // для isalnum()
using namespace std;
 
int main()
{
 fstream f("1.txt");
  
 while (!f.eof()) // чтение до конца файла
 {   
        char buff;      
        int i = 0;
        char rezult[30] = "\0"; // здесь будет слово уже без знаков пунктуации
        
        while (f.get(buff) && (buff != ' ' && buff != '\n')) // посимвольное чтение из файла до пробела или символа новой строки
        {
            if (isalnum((unsigned char)(buff))) // если символ буква или цифра, то в rezult
            {
                rezult[i] = buff;
                cout << rezult[i];
                i++;
            }
        }
        cout << endl; // здесь можно использовать считанное и обработанное слово из файла. 
 } 
 
  system("pause");
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru