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

Метод find класса string - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Многомерные массивы. Получить в двумерных массивах три проекции (тени) этого тела (не запускается) http://www.cyberforum.ru/cpp-beginners/thread713801.html
Вот задача, В трехмерном массиве K(l, m, n), состоящем из нулей и единиц, хранится сеточное изображение некоторого трехмерного тела. Получить в двумерных массивах три проекции (тени) этого тела. вот мое решение #include <stdlib.h> #include <stdio.h> #include <conio.h> int main() { const M=5, N=5, L=5; int x, y, z;
C++ Задача о купюрах. Покупатель должен заплатить в кассу S рублей. У него имеются 1, 2, 5, 10, 50, 100, 500 р. Сколько купюр разного достоинства отдаст покупатель, если он начнёт платить с самых крупных? тут вроде через цикл while нам надо http://www.cyberforum.ru/cpp-beginners/thread713792.html
Вычисление суммы чисел из диапазона от а до b, кратных 3 (do.while) C++
1 урок С++, уже задали задачи с циклами. Может кто-нибудь помочь? Составить программу для вычисления суммы чисел из диапазона от а до b, кратных 3. Циклом while
C++ z функция
Добрый вечер, вот такая проблема. Пытаюсь реализовать расчет z функции, но почему-то код работать отказывается. Посмотрите, пожалуйста, свежим взглядом, в чем я косячу. И еще вопрос: длину массива нельзя объявить переменной. А если надо? Какой альтернативный финт может быть применен? #include <iostream>
C++ быстрая сортировка (quickSort) http://www.cyberforum.ru/cpp-beginners/thread713752.html
Мне нужно измерить за какое время алгоритм быстрой сортировки от сортирует массив из 50 000 элементов, но почему-то алгоритм сортирует довольно плохо и впридачу выводит непонятно что! #include<iostream> #include<time.h> const int size=50000; using namespace std;
C++ Создать програму которая подсчитывает количество слов с++ С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину; вводит на экран частоту вхождения каждой буквы; удаляет текст, который размещен в круглых скобках. подробнее

Показать сообщение отдельно
123Unknown
1 / 1 / 0
Регистрация: 26.11.2012
Сообщений: 31
29.11.2012, 21:52     Метод find класса 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
#include "Head.h"
void search(string key)
{
    ifstream file("Data.txt");
    bool f=0;
    int count=0;
    string temp;
    while(file)
    {
        getline(file, temp);
        count++;
        if (temp.find(key)<-1)
        {
            cout<<temp.find(key)<<" - value\n";
            f=1;
            cout<<"The fragment was found in the "<<count<<"th string"<<"\n";
            cout<<"Content of the string: "<<temp<<"\n\n";
        }
    }
    if (f==0)
        cout<<"The fragment was not found\n";
    file.close();
}
Так вот, как я понял метод find возвращает позицию первого символа строки a в строке b, если строки a нету в строке b, то find возвращает -1.По идее, в 12 строке должно стоять условие if (temp.find(key)>=0), но функция почему-то корректно работает только при том условии, которое сейчас записано у меня в функции выше+программа выдаёт странные значения temp.find(key), например 435435435345.В чём может быть проблема ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru