Convert Ascii to char

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • meendar

    Convert Ascii to char

    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.

  • Chris Dollin

    #2
    Re: Convert Ascii to char

    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/

    Comment

    • meendar

      #3
      Re: Convert Ascii to char

      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...@electrich edgehog.netwrot e:
      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/

      Comment

      • Mark Bluemel

        #4
        Re: Convert Ascii to char

        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) ?

        Comment

        • Chris Dollin

          #5
          Re: Convert Ascii to char

          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

          Comment

          Working...