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

Обработка текста, разделяемого на слова - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возвращение трех значений http://www.cyberforum.ru/cpp-beginners/thread320432.html
Как в функции возвратить три значения?
C++ Курсовая по ООП Здравствуйте, столкнулась с проблемой, необходимо сделать курсовую, а в програмировании на С++ полный ноль. Если у кого есть возможность, подскажите. Работа довольно объемная, а времени осталось мало. Есть даже пример похожей работы, но просидев пару часов, так и не смогла ничего понять. Вот само задание, зеленым выделены пункты которые необходимо выполнить. А это пример выполненной... http://www.cyberforum.ru/cpp-beginners/thread320428.html
C++ Использование стека в преобразовании
Наткнулся на одну проблему и нуждаюсь в помощи. задание следующее. Нужно преобразовать инфиксное выражение в постфиксное, используя стек. то есть например из "4+(6-4)*9" нужно получить "4 6 4 - 9 *+" и вывести это на экран
работа со структурами C++
#include<conio.h> #include<iostream.h> #include<string.h> main() { int n=0, i, zapros, flag=0; char s; struct peresdachi {char FAM ;
C++ Записи: Задать список спортсменов, распечатать сведения о тех из них, кто занимается плаваньем http://www.cyberforum.ru/cpp-beginners/thread320403.html
Задать список спортсменов, распечатать сведения о тех из них, кто занимается плаваньем. Указать возраст,сколько лет они занимаются спортом. В программе Turbo C(С++)
C++ Выяснить, сколько в строке цифровых символов Дана фраза, в которой слова разделены одним пробелом, а сама фраза заканчивается точкой. Выяснить, сколько в ней цифровых символов. В Turbo C (С++). подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
16.06.2011, 14:10     Обработка текста, разделяемого на слова
Не надо регулярки использовать объект string в полне справиться с любой задачей с текстом.

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
#include <stdio.h>
#include <string>
 
// функция по замене слов, захват символов буквы и цифры - isalnum
void str_replace(std::string&  str, const char*  rep, const char*_new) {
    int first = 0;
    while(1) {
        int last = str.find(rep, first);
        if(last == std::string::npos)
        break;
        if( ! last) 
        goto jump;
        if( ! isalnum(str.at(last - 1)) ) {
jump:
             if(! isalnum(str.at( last + strlen(rep)) ) ) 
           str.replace(last, strlen(rep), _new);
         }
         first = last + strlen(rep);
    }
}
 
 
 
 
void  main() {
 
   std::string  str = "";
 
   // открыть файл ввода
   FILE*  fp         = fopen("X:\\input.txt", "r");
   char b[512];
   while(! feof(fp) ) {
        fgets(b, 512, fp);
        str.append(b);
   }
   fclose(fp);
 
   // изменить слово на другое
   str_replace(str, "sdfgsadg", "programmirovanie");
 
   // сохранить в файл 
   fp = fopen("X:\\print.txt", "w");
   fputs(str.c_str(), fp);
   fflush(fp);
   fclose(fp);
 
   // test
  //  puts(str.c_str());
}
 
Текущее время: 21:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru