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

Обработка строки из файла в порожденном процессе(потоке) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выручите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread733668.html
4). Разработать функцию для вычисления минимального значения элементов одномерного целочисленного массива размерности n. С использованием данной функции для матрицы размерности n х m (n и m вводится с клавиатуры, элементы матрицы заполняются с помощью генератора псевдослучайных чисел) получить вектор, содержащий минимальные элементы строк матрицы. Вывести на печать исходную матрицу и полученный...
C++ Вычисление минимального значения элементов массива 3). Разработать функцию для вычисления минимального значения элементов одномерного целочисленного массива размерности n. С использованием данной функции для матрицы размерности n х m (n и m вводится с клавиатуры, элементы матрицы заполняются с помощью генератора псевдослучайных чисел) вывести на печать те строки матрицы, минимальные элементы которых превышают некоторое заданное пороговое значение... http://www.cyberforum.ru/cpp-beginners/thread733665.html
Сортировка одномерного массива размерности n в порядке убывания C++
2). Разработать функцию для сортировки элементов одномерного целочисленного массива размерности n в порядке убывания. С использованием данной функции для матрицы размерности n х m (n и m вводится с клавиатуры, элементы матрицы заполняются с помощью генератора псевдослучайных чисел) отсортировать строки матрицы, имеющие четные индексы. Вывести на печать исходную матрицу и матрицу после сортировки....
Сортировка Shell сорт C++
Нашел в интернете лучший набор для сортировки до 4000 элементов. 1, 4, 10, 23, 57, 132, 301, 701, 1750 начиная, конечно, с конца, мы доходим до единицы и получается сортируем BubbleSort-ом в итоге что ли? у меня вот такой код получился: #pragma hdrstop #include <Stdio.h> #include <Assert.h> #include "sumsorting.h"
C++ Определить, содержит ли массив серии из подряд стоящих простых чисел http://www.cyberforum.ru/cpp-beginners/thread733643.html
Задан массив из целых чисел.Определить содержит ли массив серии из подряд стоящих простых чисел.Если да,то посчитать кол-во таких серий.Удалить из массива все двузначные числа.Определить, изменилось ли кол-во серий. В программе написать функции:вычисления кол-во серий из подряд стоящих простых элементов,удаление элемента. Матрицу я сформировал,но как составить алгоритм вычисления этих серий и...
C++ Считать информацию с файла и вывести на экран используя "Очередь" Помогите исправить ошибку. Нужно считать информацию с файла и вывести на экран используя "Очередь". #include<fstream.h> #include<iostream.h> #include<stdio.h> struct record {char name; int otdel; подробнее

Показать сообщение отдельно
footbaler
1 / 1 / 0
Регистрация: 18.12.2010
Сообщений: 50
17.01.2013, 20:49  [ТС]     Обработка строки из файла в порожденном процессе(потоке)
Вот, что пока получается... Способ поиска строки в файле нашел на этом форуме, а вот все это в поток засунуть получается методом тыка, как это показывал преподаватель, но он то, в отличие от меня, понимает, что написал, я же только подставил свой код в его.
КОД
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
// Поиск указанной строки в указанном файле. Обработка одной строки в порожденном процессе (потоке).
 
#include <iostream>
#include <fstream>
#include <string>
#include <windows>
#include <conio>
using namespace std;
 
DWORD WINAPI thread_pr()
{
    string text = "", search, result;
    fstream file;
    cout << "Введите слово, для поиска: ";
    cin  >> search;
    cout << "-------------------------------------" << endl;
    file.open("file.txt", fstream::in | fstream::out);
    if(file)
    {
    while(!file.eof())
    text += file.get();
    file.close();
    }
    int find_pos = text.find(search);
    if(find_pos == -1)
    {
        cout << "Такого слова нет!!!" << endl << endl;
        getch();
        return 0;
    }
    for(int i = find_pos; ; i--)
    {
        if( text[i] != '!' && text[i] != '.' &&
            text[i] != '?' && i != 0)
            find_pos--;
        else
        {
            find_pos = i;
            if(find_pos > 0) find_pos++;
            break;
        }
    }
    for(int i = find_pos; ; i++)
    {
        if( text[i] != '!' && text[i] != '.' && text[i] != '?' &&
            (int)text[i] != -1)
        {
            if(i == find_pos && text[i] == ' ') continue;
            result += text[i];
        }
        else break;
    }
    cout << result << endl << endl;
    getch();
    return 0;
}
 
int main ()
{
    HANDLE thread;
   thread=(HANDLE)CreateThread(NULL, 0, thread_pr, 0, 0, NULL);
   if(WAIT_OBJECT_0!=WaitForSingleObject(thread, INFINITE))
    cout<<"Error";
   getch();
   return 0;
}

Проверьте пожалуйста, что не хватает моему коду, для решения моей задачи или может я вообще все делаю не правильно. Готовые решения приветствуются.

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