ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1591  
Старый 19.09.2008, 00:27
++Norton++
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме:
539954

Репутация: 106
По умолчанию

Постараюсь объяснить суть. Нужно написать функцию, которая принимала бы в качестве аргумента массив из нескольких слов (через пробел) которые бы находились в argv[0], argv[1] и тд. Что-то типа как в функции main(int argc, char *argv[]). Здесь запуская программу мы можем указать параметры, например:
Код:
./a.out hello world
Тогда 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
Заранее спасибо!
 

  #1592  
Старый 19.09.2008, 01:47
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

Дорогой ++Norton++, очень хочу узнать твое мнение. Каким макаром компилятор так ловко преобразовал из char* в char**. Вот просто интересно...

Добавлено позже...
А вот еще очень интересный момент. x[2] бескомпромисно вылезло за размеры массива и так упорно пытается что-то вырвать с памяти.

PS: просто хорошее настроение.

Последний раз редактировалось 4p3; 19.09.2008 в 01:52..
 

  #1593  
Старый 19.09.2008, 07:34
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

идёшь циклом по содержанию файла,если пробел к примеру ставишь флаг и считаешь количество букв в слове(до след. пробела).Ну и если оно равно тому которое тебе нужно - сохраняешь.
 

  #1594  
Старый 19.09.2008, 08:03
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

UnPazz,
берем fstream. Определяем разделитель текстового файла. Объявляем один объект типа string и используем getline. Первый аргумент - объект fstream, второй объект string, третий - char разделитель. Организуем цикл. Проверочным условием будет метод eof() , угадайте какого объекта. Для определения длины используется функция-член класса string size().
Успехов.
 

  #1595  
Старый 19.09.2008, 09:55
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
каким образом можно найти слова определенной длины????

не имеет значения pascal/c/c++

пожалуйста.
Регулярными выражениями: (\b[\w]{длина}\b)
 

  #1596  
Старый 19.09.2008, 11:06
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от UnPazz  
есть текстовый файл.
в нем, например, записан текст. текст состоит из слов разной длины.

каким образом можно найти слова определенной длины????

не имеет значения pascal/c/c++

пожалуйста.
---------

Цитата:
Сообщение от nerezus  
Регулярными выражениями: (\b[\w]{длина}\b)
---------
UnPazz, Если нужна инфа по регуляркам то вот:
 

  #1597  
Старый 19.09.2008, 11:39
jawbreaker
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме:
1027635

Репутация: 234
По умолчанию

UnPazz
Вот на С++ http://paste.pocoo.org/show/85661/
 

  #1598  
Старый 19.09.2008, 14:52
++Norton++
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме:
539954

Репутация: 106
По умолчанию

4p3
Да нет, компилятор ничего не преобразовывал . То что я привел, я согласен бред полнейший. Это я привел просто для примера, т.к. правильно сделать не знаю пока как. Вот и обращаюсь за помощью
 

  #1599  
Старый 19.09.2008, 20:32
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

Цитата:
Сообщение от ChaaK  
PHP код:
    int rand;
    
srand((int)time(NULL));    
    
rand rand()%10

Переменную переименуй из rand в rand_ и скомпилится.

Код:
int rand_;

Последний раз редактировалось 0x0c0de; 19.09.2008 в 20:35..
 

  #1600  
Старый 20.09.2008, 01:01
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

Цитата:
Сообщение от ++Norton++  
4p3
Да нет, компилятор ничего не преобразовывал . То что я привел, я согласен бред полнейший. Это я привел просто для примера, т.к. правильно сделать не знаю пока как. Вот и обращаюсь за помощью
вот выдалось время свободное

Код:
//---------------------------------------------------------------------------
#include <iostream>
#include <cstdlib>
#pragma hdrstop
using namespace std;
//---------------------------------------------------------------------------

void PrintVarArg(char** args, int nArgsCount)
{
        for (int i = 0;i < nArgsCount;++i)
                cout << args[i];
}

#pragma argsused
int main(int argc, char* argv[])
{
        char *szArgs[] = {"dalek", "kaled"};
        PrintVarArg(szArgs, 2);
        system("pause");
        return 0;
}
//---------------------------------------------------------------------------
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ