ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

18.09.2008, 12:38
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Хотя эту функцию можно еще ускорить, если использовать уникод-вариант.
Я ее просто с AnsiString перевел, в билдере вообще с уникодом жопа )
Оптимизация - корень всех зол, но не стоит о ней забывать.
Почитай, тебе полезно будет: http://rsdn.ru/article/philosophy/Optimization.xml
Краткий смысл: оптимизировать нужно только критические места.
|
|
|

18.09.2008, 18:17
|
|
Banned
Регистрация: 18.08.2008
Сообщений: 77
Провел на форуме: 1081958
Репутация:
447
|
|
Сообщение от nerezus
Я ее просто с AnsiString перевел, в билдере вообще с уникодом жопа )
Почитай, тебе полезно будет: http://rsdn.ru/article/philosophy/Optimization.xml
Краткий смысл: оптимизировать нужно только критические места.
да ! полезна
|
|
|

19.09.2008, 00:27
|
|
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме: 539954
Репутация:
106
|
|
Постараюсь объяснить суть. Нужно написать функцию, которая принимала бы в качестве аргумента массив из нескольких слов (через пробел) которые бы находились в argv[0], argv[1] и тд. Что-то типа как в функции main(int argc, char *argv[]). Здесь запуская программу мы можем указать параметры, например:
Тогда argv[1]=hello argv[2]=world. Нужна примерно аналогичная функция, только чтобы принимала массив. Например:
Код:
...
int XFunction(char *x[]) {
printf("%s", x[1]);
printf("%s", x[2]);
return 0; }
int main() {
char buff[512];
gets(buff);
XFunction(buff);
return 0; }
Здесь запускаем программу, вводим, к примеру hello world, и XFunction нам выводит в качестве x[1] - hello, в качестве x[2] - world. Это как нибудь реально осуществить? Сколько не пытался, все время Segmentation Fault
Заранее спасибо!
|
|
|

18.09.2008, 12:46
|
|
Новичок
Регистрация: 12.07.2008
Сообщений: 14
Провел на форуме: 16285
Репутация:
0
|
|
было бы замечательно если бы ты код выложил, а лучше весь проект через файло обменник.
Ок. Надеюсь на народе пойдет (http://narod.ru/disk/2665777000/prog_src.rar.html)? Ну если надо еще залью, только скажи сам куда. В архиве Исходники и готовый билд. Сам посмотришь, на кнопке и на др. кнопке в Меню одно и тоже действие на OnClick. Не суди строго за код, учился билдеру сам, писал сам не чего не принемая за базу. В уневерситете, вот в этом году поступил, будем изучать Delphi уже профессионально, но хотелось бы конечно MVS освоить, ну да ладно...не судьба.
Так же в архиве тестовый файл примерMTADMвSAMP.map . Загружешь его через программу (Файл->Открыть...) далее Конвертировать в...->MTA DM в SAMP или просто окне программы кнопка "Через простую кнопку все ОК".
|
|
|

19.09.2008, 01:47
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме: 750247
Репутация:
92
|
|
Дорогой ++Norton++, очень хочу узнать твое мнение. Каким макаром компилятор так ловко преобразовал из char* в char**. Вот просто интересно...
Добавлено позже...
А вот еще очень интересный момент. x[2] бескомпромисно вылезло за размеры массива и так упорно пытается что-то вырвать с памяти.
PS: просто хорошее настроение. 
Последний раз редактировалось 4p3; 19.09.2008 в 01:52..
|
|
|

19.09.2008, 07:34
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
идёшь циклом по содержанию файла,если пробел к примеру ставишь флаг и считаешь количество букв в слове(до след. пробела).Ну и если оно равно тому которое тебе нужно - сохраняешь.
|
|
|

19.09.2008, 08:03
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме: 750247
Репутация:
92
|
|
UnPazz,
берем fstream. Определяем разделитель текстового файла. Объявляем один объект типа string и используем getline. Первый аргумент - объект fstream, второй объект string, третий - char разделитель. Организуем цикл. Проверочным условием будет метод eof() , угадайте какого объекта. Для определения длины используется функция-член класса string size().
Успехов.
|
|
|

19.09.2008, 09:55
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
каким образом можно найти слова определенной длины????
не имеет значения pascal/c/c++
пожалуйста.
Регулярными выражениями: (\b[\w]{длина}\b)
|
|
|

19.09.2008, 11:06
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от UnPazz
есть текстовый файл.
в нем, например, записан текст. текст состоит из слов разной длины.
каким образом можно найти слова определенной длины????
не имеет значения pascal/c/c++
пожалуйста.
---------
Сообщение от nerezus
Регулярными выражениями: (\b[\w]{длина}\b)
---------
UnPazz, Если нужна инфа по регуляркам то вот:
|
|
|

19.09.2008, 11:39
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме: 1027635
Репутация:
234
|
|
UnPazz
Вот на С++ http://paste.pocoo.org/show/85661/
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|