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

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

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

  #5321  
Старый 17.05.2010, 18:33
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

да, точно. функция требует хэндл библиотеки. ну вариантов два - либо через tool help функции обойти все модули в требуемом процессе и найти нужную, либо сделать сделать инъекцию кода который внутри того процесса выполнит GetModuleHandle, FreeLibrary
 
Ответить с цитированием

  #5322  
Старый 17.05.2010, 20:13
olesy
Новичок
Регистрация: 16.05.2010
Сообщений: 9
Провел на форуме:
18559

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

здрасти в ето строке
Код:
char** arr=malloc(sizeoff(char*)*count);
выдает ерор cannot convert from void to char, как исправить ето?
 
Ответить с цитированием

  #5323  
Старый 17.05.2010, 20:59
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

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

Сделай приведение типа, например:

char * var = (char*)malloc( size );
 
Ответить с цитированием

  #5324  
Старый 17.05.2010, 21:52
olesy
Новичок
Регистрация: 16.05.2010
Сообщений: 9
Провел на форуме:
18559

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

Цитата:
Сообщение от Ins3t  
Сделай приведение типа, например:

char * var = (char*)malloc( size );

char ** var = char*malloc( size ); зделал так теперь ерор type char unexpected
 
Ответить с цитированием

  #5325  
Старый 17.05.2010, 21:55
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

скобочки решил оптимизировать? если уж совсем ничего не знаешь - копируй как показали.
 
Ответить с цитированием

  #5326  
Старый 17.05.2010, 21:58
olesy
Новичок
Регистрация: 16.05.2010
Сообщений: 9
Провел на форуме:
18559

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

тогда идет вапше куча ероров

size underclared identifier
arr underclared identifier

Последний раз редактировалось olesy; 17.05.2010 в 22:00..
 
Ответить с цитированием

  #5327  
Старый 17.05.2010, 22:31
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

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

To olesy:

Цитата:
size underclared identifier
arr underclared identifier
Ошибки говорят о том, что не определены arr и size, следовательно могу предположить что ты просто все скопировал не объявил необходимых переменных.

Твой пример будет выглядеть примерно так:

Код:
char **arr = (char**)malloc( sizeof(char*) * count );
Дабы не возник вопрос типа:

Цитата:
А почему выдает count underclared identifier ?
Отвечу - необходимо заранее объявить переменную count.

Например так:

Код:
int count = 10;
 
Ответить с цитированием

  #5328  
Старый 17.05.2010, 22:36
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

olesy, ты все со своими заданиями мучаешься? Если в Visual Studio компилируешь, делай примерно так:

PHP код:
#include "stdlib.h"
#include "stdio.h"
#include "string.h"

int main()
{
    
int count 5;
    
int good 0;
    
int ijlennum 0;
    
    
char** arr = (char**) malloc(sizeof(char*) * count);
    
    
arr[0] = "string 1";
    
arr[1] = "string 2";
    
arr[2] = "string without numbers";
    
arr[3] = "also, no numbers";
    
arr[4] = "str 5";
    
    
printf("Strings that do not contain any numbers:\n");
    
    for(
i=0i<counti++)
    {
            
good 1;
            
            for(
j=0len strlen(arr[i]); lenj++)
            {
                    if(
arr[i][j] >= 48 && arr[i][j] <= 57)
                    {
                                 
good 0;
                                 break;
                    }
            }
            
            if(
good)
            {
                    
num++;
                    
printf("\n%s"arr[i]);
            }
    }
    
    
printf("\n\nTotal number: %u"num);
    
    
free(arr);        
    return 
0;   

 
Ответить с цитированием

  #5329  
Старый 17.05.2010, 22:43
olesy
Новичок
Регистрация: 16.05.2010
Сообщений: 9
Провел на форуме:
18559

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

спасибо но я както хотел сам)
 
Ответить с цитированием

  #5330  
Старый 24.05.2010, 11:09
rudvil
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме:
2066562

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

Есть ли смысл для оптимизации, передавать аргументы функции через указатель, например
Код:
void show_msg(std::string& msg) {
  std::cout << msg;
}
если учитывать что эта функция вызывается очень часто и с средним кол. символов в "msg" - 500
Т.е. насколько я понимаю если не передавать через указатель, то при каждом вызове будет происходить копия этого "msg" и последующий его вывод... что мне впринципе нафиг не надо, тогда уже лучше везде прописывать аргументы через ссылки.
Ну не везде, но во всяком случае там - где я точно знаю что в функ. с ним никаких операция кроме чтения не будет.
Есть ли смысл с этим заморачиваться?

Последний раз редактировалось rudvil; 24.05.2010 в 11:11..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ