![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| godvinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 4.4.2008 Где: possibility of mo ving to Kyiv Репутация: нет Всего: 1 |
Есть у меня исходный файл в котором подсчитывается количество строк Предыдущая Тема, при чтении всего файла есть погрешность так как в комментариях и выводах тоже могут быть слова - название операторов.
Как при чтении всего файла проигнорировать строки комментарием (/**/, //) и выводов (printf). |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Можно, например, подсчитать все слова, а потом вычесть расположенные в комментариях
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| godvinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 4.4.2008 Где: possibility of mo ving to Kyiv Репутация: нет Всего: 1 |
а для выводов - printf, cout, echo, print можно подсчитать а потом вычитать с основного результата *?
То есть как функция wordCount только регулярное выражение для операторов вывода. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
То есть? Не понял я чойт. В любом случае, я это предложил как вариант. Можно найти и другие.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| godvinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 4.4.2008 Где: possibility of mo ving to Kyiv Репутация: нет Всего: 1 |
ну это мне подходит предложенный твой вариант. Но при поиске операторов, например if:
cout << "if long - "; слово if воспримется как оператор if то есть уже будет погрешность. То есть нужно еще не включать в общий подсчет все похожие слова на операторы if в выводах. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Ты имеешь в виду строковые литералы?
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| godvinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 4.4.2008 Где: possibility of mo ving to Kyiv Репутация: нет Всего: 1 |
я имею ввиду:
есть файл с расширением .с загружаем его считаем количество операторов (которые переданы например if) в файле например 3 условных оператора if, но еще в комментариях есть слово if, и в выводе на экран через оператор cout << "if " тоже встречается это слово (if), то есть их уже 5, мне надо чтобы выводило только то количество которое не встречается в комментариях и не встречается в операторах вывода, то есть должно вывести 3. то есть строки с printf, cout, echo, print, тоже должны игнорироваться как и комментарии. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
А когда ты инициируешь строковую переменную, текстом содержащим "if"?
Это разве не то же самое? Тут решение примерно такое же. Надо просто регесп составить для литералов и вычесть его тоже или добавить в тот, который описывает комментарии. Добавлено через 25 секунд Собственно идея то в этом была. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| godvinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 4.4.2008 Где: possibility of mo ving to Kyiv Репутация: нет Всего: 1 |
ну да мне надо чтобы воспринимало только (например if) как оператор а не как комент или чтото другое. А можешь помочь с регуляркой *? пожалуйста
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Ну я тут изменил малость тот метод, вроде работает
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |