Solved

# Changing String To Integer and Integer to String

Posted on 2003-11-19
12,577 Views
How can i Change Integer to String and String to Integer by using this function?

int strtoint(char ch);
char inttostr(int no);

anybody can help me with this? what should i use for the "Include" header?
0
Question by:girlswants_me
• 5
• 4
• 4
• +1

Author Comment

ID: 9776944
anybody?
0

LVL 23

Expert Comment

ID: 9776984
string to integer
============

int nVal = atoi(szSTR);

integer to string
============

char szSTR[10];
itoa(nVal, szSTR, 10);

Rosh :)
0

Author Comment

ID: 9777005
can you give me a complete function for that please.
0

LVL 23

Expert Comment

ID: 9777007
#include "Shlwapi.h"

Object/Library Modules ->

"Shlwapi.lib"   <-----Add this in that edit box
0

LVL 23

Expert Comment

ID: 9777031
Now u can Use the functions StrToInt, IntToStr
0

LVL 23

Expert Comment

ID: 9777035
oops IntToStr  is not in that lib.
0

Author Comment

ID: 9777164
Sorry i cannot give you points. Can you create a function by using what is stipulated above?
0

LVL 23

Expert Comment

ID: 9777196
#include <stdlib.h>

int strtoint(char* pch)
{
return itoa(pch);
}

char* inttostr(int no, char* pch)
{
return itoa(no, pch, 10);
}

Is that what you want...?
Rosh :)
Rosh :)
0

Expert Comment

ID: 9785377
#include <stdlib.h>

int strtoint(char* pch)
{
return atoi(pch);   // atoi function, not itoa!!
}

char* inttostr(int no, char* pch)
{
return itoa(no, pch, 10);
}
0

Expert Comment

ID: 9785434
//----------------- include ---------------------------------------

#include <stdlib.h>

//----------------- declarations ---------------------------------

int strtoint(char* pch);
char* inttostr(int no, char* pch);

//----------------- definitions -----------------------------------

int strtoint(char* pch)
{
return atoi(pch);   // atoi function, not itoa!!
}

char* inttostr(int no, char* pch)
{
return itoa(no, pch, 10);
}

hi,
merlic
0

Accepted Solution

merlic earned 35 total points
ID: 9785496
try this if you need only one parameter passed to the functions

//----------------- include ---------------------------------------

#include <stdlib.h>

//----------------- declarations ---------------------------------

int strtoint(char* pch);
char* inttostr(int no); //only the int parameter

//----------------- definitions -----------------------------------

int strtoint(char* pch)
{
return atoi(pch);   // atoi function, not itoa!!
}

char* inttostr(int no) // only the int parameter
{
char pch[10] = "";
return itoa(no, pch, 10);
}

hi,
merlic
0

Author Comment

ID: 9793399
thats more like it. Thank you very much merlic.
0

Expert Comment

ID: 9795267
bye
0

LVL 4

Expert Comment

ID: 11171711
Why is this in the "time tested" solutions?  For most systems out there, it is technically incorrect:

1: a 32-bit "int" value, when converted to a string can occupy 10 character places; so a buffer of only 10 chars is incorrect: there is no room allocated for the terminating NUL (not NULL) character.

2: The accepted answer basically returns the address of a non-static local variable, which is incorrect.  It might seem to work, but that does not mean it is correct.

Peace!

-=- James.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question