Форум программистов, компьютерный форум 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), pcStr); При компиляции ошибок не выдает. Но программы прекращает свое выполнение ошибкой именно на этой строке Программа " Test.exe" завершилась с кодом -1073740777 (0xc0000417).
C++ С++ Конструктор копий. Функция, работающая с объектами Конструктор копий должен работать в след. ситуациях: 1) В объявлении объекта, когда один объект используется для инициализации другого. 2) Объект передается в ф-ю в качестве параметра 3) В качестве возвр. знач. создается временный объект У меня проблема либо с конструктором копий, либо с дружественной функцией. В результате мне вместо заданных мной данных выводится мусор. (Никаких ошибок... http://www.cyberforum.ru/cpp-beginners/thread806124.html
Тормозит программа C++
Добрый вечер. В чем может быть загвоздка? Пишу тетрис (консольный), на работе он летает а дома тормозит. Хочу дописать... Железо почти одинаковое...
Нужна практика C++
Приветствую всех. :) Не ругайтесь сильно, знаю что подобных тем было созданно уйма. Подскажите пожалуйста как мне поступить. Я ещё не учусь в выше, язык изучаю сам дома, сейчас читаю паралельно пару книг, и всё бы хорошо, но в последнее время, я почти не пишу программ (если их так можно назвать :D), вот захожу в раздел " С++ для начинающих", открываю топики, и давай смотреть, то слишком лёгкая,...
C++ Библиотека libtiff на с++ http://www.cyberforum.ru/cpp-beginners/thread806097.html
Добрый вечер. У меня следующие проблемы. Искал библиотеку libtiff (tiff.h / tiffio.h) на с++ для работы с файлами данного формата. Но ничего дельного не нашел ни на наших, ни на иностранных ресурсах. Обрывки кода были, но, зачастую, в нем приплетены классы и функции, описания которых нет (и как поймешь, что оно там делает, когда класс с именем, смутно помогающим понять его возможное...
C++ Вылетает программа при обращении к объекту класса итак, есть абстрактный базовый класс "дерево", есть два его наследника: плодовое дерево и лесное дерево. Надо написать класс "Контейнер деревьев" на базе массива программа вылетает с сообщением "17.ехе" прекращает работу, виндоус ищет пути предотвращения проблемы и т.д. head.h #ifndef _TREEE_ #define _TREEE_ #include <iostream> #include <cmath> using namespace std; enum Type {list,... подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
300 / 271 / 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;
}
 
Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru