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

Работа с текстовыми файлами - C++

Восстановить пароль Регистрация
 
melkaya19
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 19
21.06.2010, 01:34     Работа с текстовыми файлами #1
Создать программу, которая обрабатывает файл в последовательном режиме.
Данные надо считывать по одному символу (нельзя считывать сразу весь файл или строку)
Дан не пустой текстовый файл. Написать программу, которая выводит в файл все числа встреченные во входном файле (числом считать только те слова, которые состоят только из цифр. Словом считать символьную строку, которая отделена пробелами или знаками препинания (точка, запятая, круглые кавычки, восклицательный и вопросительный знаки).

Помогите пожалуйста с этим заданием, мозг уже совсем не работает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2010, 01:34     Работа с текстовыми файлами
Посмотрите здесь:

Работа с текстовыми файлами. C++
работа с текстовыми файлами C++
Работа с текстовыми файлами C++
C++ Работа с текстовыми файлами
C++ С++ работа с текстовыми файлами
C++ Работа с текстовыми файлами
C++ Работа с текстовыми файлами
C++ Работа с текстовыми файлами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
21.06.2010, 05:20     Работа с текстовыми файлами #2
отктываем два файла, один - на запись, другой - на чтение. чиатем по одному символу из файла на чтение, если символ пробел или табуляция то значит далее следует слово или цифра. считываем еще символы и, если это цифры, кладем их в буфер, как только встретили "нецифру" то смотрим: если это пробел или табуляция - значит мы считали число (оно в буфере) и его можно выводить в выходной файл, если это не пробел и не набуляция (и не знак припенания и не конец файла) то мы считали непойми что (слово с несколькими цифрами впереди) не будем записывать буфер в выходной фалй. Сбрасываем буфер и читаем из входного файла дальше.
буфером может быть масив char, скажем, из 30 элементов.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.06.2010, 12:23     Работа с текстовыми файлами #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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
#define MAXWORD  100   /* максимальная длина слова */
 
 
int main(void) /* ANSI C89 */
{
    FILE *ifp, *ofp;
    int c;
    char word[MAXWORD], *ptr;
    enum { NO, YES } inword = NO;
    
    
    ifp = stdin;
    
    ofp = fopen("output.txt", "w");
    
    
    /* проверить, открылись ли файлы */
    
    
    while ((c = getc(ifp)) != EOF) {
        
        c = (unsigned char) c;
        
        if (ispunct(c) == 0 && isspace(c) == 0) {
            
            if (inword == NO) {
                
                inword = YES;
                
                ptr = word;
            
            }
        
            *ptr++ = c;
            
            *ptr = '\0';
        
        }
        
        if (ispunct(c) != 0 || isspace(c) != 0) {
            
            if (inword == YES) {
 
                inword = NO;
        
                for (ptr = word;
                     isdigit(*ptr) != 0 && *ptr != '\0';
                     ptr++)
                    ;
                
                if (*ptr == '\0') {
                
                    printf(".%s." "\n", word);
                
                    fprintf(ofp, " %s", word);
            
                }
            
            }
        
        }
        
    }
    
    
    fclose(ofp);
    
    
    return EXIT_SUCCESS;
}
здесь вывод
Код
[guest@station src]$ echo aaaa3a bbb2 333 1 a1 1a 3 | ./test
.333.
.1.
.3.
[guest@station src]$ cat output.txt
 333 1 3[guest@station src]$
Yandex
Объявления
21.06.2010, 12:23     Работа с текстовыми файлами
Ответ Создать тему
Опции темы

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