By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,652 Members | 1,335 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,652 IT Pros & Developers. It's quick & easy.

Convert Ascii to char

P: n/a
Hi,

I am having a character pointer which contains ascii values. i just
want to convert all these ascii values to respective characters and
again store it in another character pointer.

Anybody please help in c language.

Thanks in Advance.

Aug 22 '07 #1
Share this Question
Share on Google+
4 Replies


P: n/a
meendar wrote:
I am having a character pointer which contains ascii values.
That's unlikely. `char*` variables contain pointer values,
not ascii character values. The characters the pointer points
to may, or may not, be encoded in ascii.
i just
want to convert all these ascii values to respective characters and
again store it in another character pointer.
I /think/ you mean you want to copy a string from one place
to another.

If the expression `source` has value pointer to string of length N,
and the expression `dest` has value pointer to an array of chars
of length at least N+1, then executing the expression:

strcpy( dest, source )

will copy the string from `source` to `dest`. To use this expression,
you should ensure you've #included <string.h>.

This code doesn't care about ascii. In the unlikely event that matters,
you'll have to explain your problem more centrally.

Note that it's your responsibility to ensure that `dest` points to
enough characters. If it doesn't, your program will be broken, even
if nothing bad /seems/ to happen.

--
Third Floor And Still OK! Hedgehog
"Who do you serve, and who do you trust?" /Crusade/

Aug 22 '07 #2

P: n/a
Hi,

I assume the question is misunderstood, hence ask the query in
different way. I am having a file with ascii values, how can i convert
these ascii values to corresponding characters and print it?

Thanks




On Aug 22, 7:50 pm, Chris Dollin <e...@electrichedgehog.netwrote:
meendar wrote:
I am having a character pointer which contains ascii values.

That's unlikely. `char*` variables contain pointer values,
not ascii character values. The characters the pointer points
to may, or may not, be encoded in ascii.
i just
want to convert all these ascii values to respective characters and
again store it in another character pointer.

I /think/ you mean you want to copy a string from one place
to another.

If the expression `source` has value pointer to string of length N,
and the expression `dest` has value pointer to an array of chars
of length at least N+1, then executing the expression:

strcpy( dest, source )

will copy the string from `source` to `dest`. To use this expression,
you should ensure you've #included <string.h>.

This code doesn't care about ascii. In the unlikely event that matters,
you'll have to explain your problem more centrally.

Note that it's your responsibility to ensure that `dest` points to
enough characters. If it doesn't, your program will be broken, even
if nothing bad /seems/ to happen.

--
Third Floor And Still OK! Hedgehog
"Who do you serve, and who do you trust?" /Crusade/

Aug 23 '07 #3

P: n/a
meendar wrote:
Hi,

I assume the question is misunderstood, hence ask the query in
different way. I am having a file with ascii values, how can i convert
these ascii values to corresponding characters and print it?
Please don't top-post. (If you don't know what top-posting is, I suggest
you read <http://www.caliburn.nl/topposting.html>)

What do you mean by "ascii values" in a file?

Do you mean that where there would be a 'A' you have one of the
character strings "101" (octal), "65" (decimal) or "41" (hexadecimal) ?

Aug 23 '07 #4

P: n/a
meendar wrote:
I assume the question is misunderstood, hence ask the query in
different way. I am having a file with ascii values,
What do you mean by "a file with ascii values"?

Do you mean a 'binary' file all of whose bytes are ascii-encoded
characters, or a 'text' file containing numerals which are the decimal
representations of ascii encodings [1], or what?

Show us. An ounce of example is worth a pound of speculation [0].
how can i convert these ascii values to corresponding characters
and print it?
If it's a text file like [1], then:

* you can read in lines with `fgets`
* you can convert the decimal numbers to integers using `strtol`
* you can convert those numbers to characters using a table [2]
* you can store the characters in an array if you wish
* you can output the array with `fwrite` or the characters with `fputc`

[0] "kilo[gramme]" has too many syllables, and "imperial" is a good
game. Of /course/ I have scales that can weigh speculation -- this
is a research lab!

[1] Like:

32 83 112 111 111 33 10

[2] Your implementation need not use ascii encodings, so you'd need to
translate the ascii value to your local character set; the easy
way is to use a char[] with the i'th char being your local character
set's character corresponding to the character with ascii value i.
If your implementation /does/ use ascii and you don't want your
code to be portable to non-ascii implementations, you can just
stuff the ascii value into a char -- in C, chars are like small
integers anyway.

--
Chris "seeking Cavorite" Dollin

Hewlett-Packard Limited registered office: Cain Road, Bracknell,
registered no: 690597 England Berks RG12 1HN

Aug 23 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.