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

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

Восстановить пароль Регистрация
 
flixper
0 / 0 / 0
Регистрация: 05.01.2012
Сообщений: 4
05.01.2012, 23:13     Работа с текстовым файлом #1
Добрый вечер, помогите пожалуйста с решением следущей проблемы:

Есть текстовый файл, в котором находится 40 000 различных английских слов, каждое слово начинается на новой строке, самое короткое слово имеет одну букву,
самое длинное 8.

Нужно написать программу в Си, где введём слово, она просмотрит файл и выпишет все слова с файла которые даное слово имеют как подслово.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2012, 23:13     Работа с текстовым файлом
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
06.01.2012, 00:31     Работа с текстовым файлом #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
flixper, если это проблема, а не задача, тогда юниксовый grep в помощь.

А если задача, то:

Читаете строку в буфер (fgets), ну или слово (fscanf). Но лучше строку. Далее ищите подстроку при помощи strstr. Если подстрока найдена - выводите введённую строку. Иначе ничего не выводите. Повторяете.
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
06.01.2012, 20:07     Работа с текстовым файлом #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
 
int main()
{
    char p[10], tmp[10];
    scanf("%s", p);
    FILE* f = fopen("1.txt", "r");
    if(f)
    {
        while(fscanf(f, "%s", tmp) == 1)
        {
            if(strstr(tmp, p))
            {
                puts(tmp);
            }
        }
        fclose(f);
    }
    else perror("perror");
    return 0;
}
Yandex
Объявления
06.01.2012, 20:07     Работа с текстовым файлом
Закрытая тема Создать тему
Опции темы

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