|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.06.2011, 14:45 | #1 |
Пользователь
Регистрация: 16.06.2009
Сообщений: 21
|
Работа с файлами
Здравствуйте, возникла проблема при работе с файлами.
Мне нужно с помощью MPI распараллелить поиск в файле по маске (по * и по ?). До самого MPI еще не дошел, пока думаю, как вообще мне это осуществить... Застрял, хочу работать с файлом как со строкой, то есть скопировать файл в строку. Пока нет идей, как это можно сделать... fgets не помогает... Если я пишу что-то типа: Код:
10000 - это явно больше моего файла, при отладке видно, что обрабатывается примерно по 100 символов... как это исправить то? Или как мне указатель, куда fgets положит вырезанные символы, смещать постоянно? Для чего мне это нужно? Для параллельного поиска в будущем, чтоб можно было выбирать диапазон строки с захлестом, иначе может получиться так, что искомая подстрока порежется на две части. |
09.06.2011, 14:54 | #2 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
извините, но накуя вам искать символы параллельно? мне так для себя. чисто поржать
а по делу, вот что могу посоветовать: Код:
далее надо бы создать (например у вас 4 ядра) 4 строки размером ну грубо говоря f_in / 4. проверить каждую подстроку на вхождение вашей искомой комбинации. далее, например длина вашей комбинации 10 символов. отрезаем 9 символов от конца первой подстроки и приклеиваем к первым 9 второй подстроки. получившуюся подстроку (18 симвАлАФ) проверем на вхождение вашей комбинации. ну и с остальными так же. |
09.06.2011, 15:03 | #3 | |
Пользователь
Регистрация: 16.06.2009
Сообщений: 21
|
Да вот мне, как раз незачем, и сам я смутно понимаю зачем это вообще может быть нужно...
Но увы.. лаба звучит именно так... На счет кода, пока немного не понял его... не работал я с буфером... Сейчас буду разбираться. Спасибо, что откликнулись Цитата:
|
|
09.06.2011, 15:17 | #4 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
забыл библиотеку:
#include "strstream" что не понятно по коду? могу прокомментировать |
09.06.2011, 15:33 | #5 |
Пользователь
Регистрация: 16.06.2009
Сообщений: 21
|
Если вам не сложно, прокомментируйте.
Во первых, каких типов должны быть file_in и f_in ? в Код:
Сорри за глупые вопросы... в голове каша уже... Заранее спасибо |
09.06.2011, 15:46 | #6 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
пардон
ifstream *file_in; strstream *f_in; да это путь, например "file.txt" |
09.06.2011, 16:00 | #7 |
Пользователь
Регистрация: 16.06.2009
Сообщений: 21
|
В таком случае компилятор начинается ругаться следующим образом:
1 IntelliSense: отсутствует оператор "=", соответствующий этим операндам и так далее... вообще не пойму пока... ищу описание работы с этими потоками.... Последний раз редактировалось Zeneth; 09.06.2011 в 16:02. Причина: Очепятки |
09.06.2011, 16:08 | #8 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
так:
Код:
Последний раз редактировалось Kukurudza; 09.06.2011 в 16:13. |
09.06.2011, 16:09 | #9 |
Пользователь
Регистрация: 16.06.2009
Сообщений: 21
|
Сорри, не там объявил, все заработало, только теперь на строчке
Код:
Run-Time Check Failure #3 - The variable 'f_in' is being used without being initialized. |
09.06.2011, 16:16 | #10 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
точно все правильно скопировали? f_in не инициализирован.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с файлами | Анюта01 | Фриланс | 8 | 19.03.2010 22:41 |
Работа с файлами | newkobra | Общие вопросы C/C++ | 9 | 15.03.2010 22:03 |
работа с файлами в Си | серг | Помощь студентам | 2 | 04.02.2010 09:07 |
Работа с файлами | NightFire | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 17.05.2009 21:47 |
Работа с файлами | DJ Socol | Win Api | 1 | 17.07.2007 09:18 |