char syntax question

F

Frits JK

Please help.



I have to make a little change to a DLL , original there was a static char
szIPAddr, and I want to make it variable. Unfortunately I am not good enough
with C++ syntax







original syntax was :

//-----------------------------------------------------------------



extern "C" int PASCAL EXPORT ReadMidi( void )



{



static char szIPAddr[32] = { "10.0.0.4" } ;

static struct sockaddr_in sa ;

sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;







Desired syntax

//------------------------------------------------------------------



extern "C" int PASCAL EXPORT ReadMidi( char szIPAddr )



{



static struct sockaddr_in sa ;

sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;







this gives error :

: error C2664: 'inet_addr' : cannot convert parameter 1 from 'char' to
'const char *'

Conversion from integral type to pointer type requires reinterpret_cast,
C-style cast or function-style cast







Regards,

Frits Janse Kok
 
T

Thomas Matthews

Frits said:
Please help.

I have to make a little change to a DLL , original there was a static char
szIPAddr, and I want to make it variable. Unfortunately I am not good enough
with C++ syntax

original syntax was :

//-----------------------------------------------------------------
extern "C" int PASCAL EXPORT ReadMidi( void )
{
static char szIPAddr[32] = { "10.0.0.4" } ;
Note that the above variable is an array of characters,
not just a single one.

static struct sockaddr_in sa ;
sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;

Desired syntax

//------------------------------------------------------------------
extern "C" int PASCAL EXPORT ReadMidi( char szIPAddr )
This should be:
extern "C" int PASCAL EXPORT ReadMidi(char * szIPAddr)
Note the location of '*'.

{
static struct sockaddr_in sa ;
sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;

Regards,

Frits Janse Kok


--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book
 
F

Frits JK

That works !!
Thank you very much for the quick reaction.

Frits Janse Kok


Thomas Matthews said:
Frits said:
Please help.

I have to make a little change to a DLL , original there was a static char
szIPAddr, and I want to make it variable. Unfortunately I am not good enough
with C++ syntax

original syntax was :

//-----------------------------------------------------------------
extern "C" int PASCAL EXPORT ReadMidi( void )
{
static char szIPAddr[32] = { "10.0.0.4" } ;
Note that the above variable is an array of characters,
not just a single one.

static struct sockaddr_in sa ;
sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;

Desired syntax

//------------------------------------------------------------------
extern "C" int PASCAL EXPORT ReadMidi( char szIPAddr )
This should be:
extern "C" int PASCAL EXPORT ReadMidi(char * szIPAddr)
Note the location of '*'.

{
static struct sockaddr_in sa ;
sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;

Regards,

Frits Janse Kok


--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book
 
V

Victor Bazarov

Frits said:
Please help.



I have to make a little change to a DLL , original there was a static char
szIPAddr, and I want to make it variable. Unfortunately I am not good enough
with C++ syntax

If you're not "good enough" (and this 'char' business is really very
basic stuff), you should not attempt changing a DLL... Just a thought.
original syntax was :

//-----------------------------------------------------------------



extern "C" int PASCAL EXPORT ReadMidi( void )



{



static char szIPAddr[32] = { "10.0.0.4" } ;

static struct sockaddr_in sa ;

sa.sin_addr.S_un.S_addr = inet_addr (szIPAddr) ;







Desired syntax

//------------------------------------------------------------------



extern "C" int PASCAL EXPORT ReadMidi( char szIPAddr )

Make it

extern "C" int PASCAL EXPORT ReadMidi( char const * szIPAddr )
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top