Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2015, 02:34   #1
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
Радость For each по переданному в метод динам. массиву

Доброго времени суток. Есть такой код:
Код:
char* stringsForSearching[] = { "wenny" };
for each ( char* stringForSearching in stringsForSearching )
{
}
Все нормально, пока не пытаюсь вынести его в метод:
Код:
bool isAnyStringPresenceInConsoleOutput( string consoleOutput, char* stringsForSearching[] )
{
	for each ( char* stringForSearching in stringsForSearching )
    {
    }
}
В ответ получаю то, что в приложении. Помогите, пожалуйста, мой лимит неистовых скачек с бубном полностью исчерпан Спасибо.
Изображения
Тип файла: jpg error.jpg (60.9 Кб, 85 просмотров)

Последний раз редактировалось WennY; 22.06.2015 в 02:36.
WennY вне форума Ответить с цитированием
Старый 22.06.2015, 07:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А почему string не используешь?
Или почему не используешь обычный цикл со счетчиком?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2015, 08:09   #3
miss twin
Пользователь
 
Регистрация: 19.06.2015
Сообщений: 15
По умолчанию

Цитата:
Помогите, пожалуйста, мой лимит неистовых скачек с бубном полностью исчерпан
А теперь открываем глазки и смотрим:
Код:
bool isAnyStringPresenceInConsoleOutput( string consoleOutput, char* stringsForSearching[] )
а на изображении что?
miss twin вне форума Ответить с цитированием
Старый 22.06.2015, 10:34   #4
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А почему string не используешь?
С ним та же канитель.

Цитата:
Сообщение от Stilet Посмотреть сообщение
Или почему не используешь обычный цикл со счетчиком?
Ну, раз есть for each, наверно лучше его и юзать, к чему эти кастылики. Да и в порядке самообразования не мешало бы узнать, какого черта.

Цитата:
Сообщение от miss twin Посмотреть сообщение
А теперь открываем глазки и смотрим:
Да я по всякому пробовал. Итог строго одинаковый.

Я именно как-то не по-феншуйно массив передаю.

У меня просьба попробовать это собрать у себя. Со стрингом или чаром - не принципиально. Я уже просто все перебрал.

Код:
#include "stdafx.h"
#include <string>
#include <regex>

using namespace std;

void isAnyStringPresenceInConsoleOutput( string consoleOutput, char* stringsForSearching[] )
{
    for each ( char* stringForSearching in stringsForSearching )
    {
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}

Последний раз редактировалось WennY; 22.06.2015 в 10:44.
WennY вне форума Ответить с цитированием
Старый 22.06.2015, 10:54   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
попробовать это собрать у себя.
VS у мну нет, а GCC твой for each не понимает.
Цитата:
раз есть for each, наверно лучше его и юзать
Ну да, раз вода в кране есть, наверное колодезную лучше не пить )))
ИМХО: "Не мала баба клопоту - купила порося". Сделал бы ты как надежно, а не как непонятно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2015, 11:11   #6
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Сделал бы ты как надежно, а не как непонятно.
Ну, это сравнимо с тем, чтобы жрать гусениц, когда не знаешь, в какой стороне магазин. Я не нахожу поедание пищи пернатых более надежным только на основании отсутствия альтернативы вследствие недостатка информации. Они такие зеленые, жуткие.. прямо как перебор массива посредством for'а при здравствующем форыче

Цитата:
Сообщение от Stilet Посмотреть сообщение
а не как непонятно.
Я вот и пришел на форум, дабы исправить сие недоразумение.
WennY вне форума Ответить с цитированием
Старый 22.06.2015, 11:52   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Они такие зеленые, жуткие.. прямо как перебор массива посредством for'а при здравствующем форыче
Хорошее сранение )))
Цитата:
пришел на форум, дабы исправить сие недоразумение.
Верю, лично я for each видел только в сказках. for_each() видел. И даже применял. А эту конструкцию...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2015, 12:34   #8
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

Мои душевные терзания были прерваны заюзыванием вектора:
Код:
bool isAnyStringPresenceInConsoleOutput( string consoleOutput, vector<string>& stringsForSearching )
{
    for( string& stringForSearching : stringsForSearching )
    {
        regex pattern( stringForSearching, regex::icase );
	if( regex_search( consoleOutput, pattern ) ) {
	    return true;
	}
    }

    return false;
}
И все проблемы как рукой сняло Всем спасибо (претензии по реализации принимаются, однако; никогда не отказываюсь от возможности узнать что-то полезное).
WennY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динам.массив sven4ik Общие вопросы Delphi 1 02.06.2013 15:59
сервер на динам IP aesoem Работа с сетью в Delphi 6 28.09.2012 09:27
динам.память.массив. Ам тя Помощь студентам 0 22.03.2010 19:23
C++ Задачки с динам. массивами pakupalos Помощь студентам 3 28.06.2009 10:12