С функцией мы можем сделать две вещи:
-вызвать ее;
-получить ее адрес;
Если мы получим адрес функции и присвоим его какому-то указателю, то в дальнейшем сможем использовать этот адрес для вызова функции.
--------------------------------------------------------------------------------------------
/* функция, которая ничего не возвращает */
void function(){ printf( "Hello wrold" ); } /* обьявление функции */
void ( *pointer )( void ); /* обьявление указателя */
int main( int argc, char *argv[] ){
pointer = &function; /* берем адрес функции */
pointer(); /* вызов функции function() через ее адрес */
return 0;
}
/* функция, которая что-то возвращает */
char* function(){ /* обьявление функции */
static char *str = "HelloWorld";
return str;
}
char*( *pointer )( void ); /* обьявление указателя */
int main( int argc, char *argv[] ){
pointer = &function; /* берем адрес функции */
printf( "%s\n", pointer() ); /* вызов функции function() через ее адрес */
return 0;
}
/* функция, которая что-то принимает в качестве аргумента */
void function(const char *_s){ /* обьявление функции */
printf( "%s\n", _s );
}
void ( *pointer )( const char *); /* обьявление указателя */
int main( int argc, char *argv[] ){
pointer = &function; /* берем адрес функции */
pointer( "Hello world" ); /* вызов функции function() через ее адрес */
return 0;
}
--------------------------------------------------------------------------------------------
February 26, 2009
[C/C++] Получить имя пользователя в Windows
Ниже предоставленна небольшая функция, которая помогает определить имя пользователя в системе Windows:
--------------------------------------------------------------------------------------------
/* init */
char* winUserName(){
static char name[256];
unsigned long size = sizeof( name );
GetUserName( name, &size ); /* from windows.h */
return name;
}
/* using */
int main(int argc, char *argv[]){
printf( "%s\n", ::winUserName() ); /* from stdio.h*/
return 0;
}
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
/* init */
char* winUserName(){
static char name[256];
unsigned long size = sizeof( name );
GetUserName( name, &size ); /* from windows.h */
return name;
}
/* using */
int main(int argc, char *argv[]){
printf( "%s\n", ::winUserName() ); /* from stdio.h*/
return 0;
}
--------------------------------------------------------------------------------------------
Tags:
C,
C++,
name,
user,
user name,
Windows,
имя,
имя пользователя,
пользователь
February 25, 2009
Subscribe to:
Posts (Atom)