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

Поиск слова в файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите, почему не работает strcpy_s() http://www.cyberforum.ru/cpp-beginners/thread806125.html
Вот код char *pcStr = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" pUAgent = new char; strcpy_s(pUAgent, strlen(pcStr),...
C++ С++ Конструктор копий. Функция, работающая с объектами Конструктор копий должен работать в след. ситуациях: 1) В объявлении объекта, когда один объект используется для инициализации другого. 2) Объект передается в ф-ю в качестве параметра 3) В... http://www.cyberforum.ru/cpp-beginners/thread806124.html
Тормозит программа C++
Добрый вечер. В чем может быть загвоздка? Пишу тетрис (консольный), на работе он летает а дома тормозит. Хочу дописать... Железо почти одинаковое...
Нужна практика C++
Приветствую всех. :) Не ругайтесь сильно, знаю что подобных тем было созданно уйма. Подскажите пожалуйста как мне поступить. Я ещё не учусь в выше, язык изучаю сам дома, сейчас читаю паралельно пару...
C++ Библиотека libtiff на с++ http://www.cyberforum.ru/cpp-beginners/thread806097.html
Добрый вечер. У меня следующие проблемы. Искал библиотеку libtiff (tiff.h / tiffio.h) на с++ для работы с файлами данного формата. Но ничего дельного не нашел ни на наших, ни на иностранных...
C++ Вылетает программа при обращении к объекту класса итак, есть абстрактный базовый класс "дерево", есть два его наследника: плодовое дерево и лесное дерево. Надо написать класс "Контейнер деревьев" на базе массива программа вылетает с сообщением... подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.03.2013, 03:33
Цитата Сообщение от Leningradeс Посмотреть сообщение
file = fopen ("base.txt", "a+");
Для этой цели достаточно вместо "a+" сделать "rb". (ведь нужно только прочитать, правильно?):
Вот вариант в стиле С, в стиле С++ всё было б гораздо проще:
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
#define WORDSIZE 80
#define MAX 1000
 
int main()
{
    char file_in[WORDSIZE], word_file[MAX], word_find[WORDSIZE];
    char c;
    FILE* in = NULL;
    int i = 0;
 
    printf("Enter file name: ");
    scanf("%s", file_in);
 
    if ((in = fopen(file_in, "rb")) == NULL)
    {
        perror("Couldn't open file");
        exit(1);
    }
 
    printf("Word: ");
    scanf("%s", word_find);
 
    while((c = fgetc(in)) && !feof(in))
    {
        if (!isspace(c))
             word_file[i++] = c;
        else
        {
            word_file[i] = '\0';
            if (!strcmp(word_file, word_find))
            {
                printf("Fined '%s'\n", word_file);
                fclose(in);
                exit(0);
            }
            i = 0;
        }
    }
 
    printf("Not fined any '%s'\n", word_find);
 
    fclose(in);
 
    return 0;
}
Добавлено через 50 минут
в стиле с++:
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
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
 
int main()
{
    std::string file_in, word_in, word_fn;
 
    std::cout << "Input: ";
    std::cin >> file_in;
    
    std::ifstream in(file_in.c_str(), std::ios::in);
    if (!in.good())
    {
        std::clog << "Couldn't open file.\n";
        exit(1);
    }
 
    std::cout << "Enter word: ";
    std::cin >> word_fn;
 
    while (in >> word_in)
        if (word_in == word_fn)
        {
            std::cout << "Word '" << word_fn << "' fined.\n";
            in.close();
            return 0;
        }
    std::cout << "Not found\n";
    in.close();
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru