Re: Using "wc" inside C program

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

    Re: Using "wc" inside C program

    yes it is supposedly easier to use a temporary file, but is it possible
    to use popen() for the given instance ?
    how can the required read and write achieved using popen(), when as you
    mentioned popen() allows only one at a time ?

    -- Satish
    On Sun, 2008-11-16 at 18:56 +0000, Richard Tobin wrote:
    In article <525be7b5-f6d1-4826-9668-cd0909e65446@1g 2000prd.googleg roups.com>,
    Snaggy <l.cioria@gmail .comwrote:
    >
    Or any other standar unix program..
    I want to pass something to a pipe for wc (to count words) and read
    the result into a variable..

    For now I put an intermediate result into a file and then open the
    file and read it..
    >
    Reading and writing to another program through pipes is, in general, a
    recipe for deadlock. In the case of "wc" this wouldn't be a problem,
    but if you were using something like "tr" it would. To make it work
    requires some kind of asynchronous (or select()ed) i/o, multiple
    threads, or arbitrary buffering in the operating system. Consequently
    the unix popen() call only provides for you to either read or write,
    not both.
    >
    For this simple case, your solution of using a temporary file is
    probably the easiest, requiring little unix-specific knowledge.
    >
    -- Richard
  • CBFalconer

    #2
    Re: Using &quot;wc&quo t; inside C program

    eerpini wrote:
    >
    yes it is supposedly easier to use a temporary file, but is it
    possible to use popen() for the given instance ? how can the
    required read and write achieved using popen(), when as you
    mentioned popen() allows only one at a time ?
    Please do not top-post. Your answer belongs after (or intermixed
    with) the quoted material to which you reply, after snipping all
    irrelevant material. See the following links:

    <http://www.catb.org/~esr/faqs/smart-questions.html>
    <http://www.caliburn.nl/topposting.html >
    <http://www.netmeister. org/news/learn2quote.htm l>
    <http://cfaj.freeshell. org/google/ (taming google)
    <http://members.fortune city.com/nnqweb/ (newusers)

    --
    [mail]: Chuck F (cbfalconer at maineline dot net)
    [page]: <http://cbfalconer.home .att.net>
    Try the download section.

    Comment

    • Richard Tobin

      #3
      Re: Using &quot;wc&quo t; inside C program

      In article <1226871686.256 99.1.camel@loca lhost.localdoma in>,
      eerpini <eerpini@gmail. comwrote:
      >yes it is supposedly easier to use a temporary file, but is it possible
      >to use popen() for the given instance ?
      You can use popen() to send it the input through a pipe, with the
      result going to a file you read later. Or you can put the input in a
      file, and use popen() to read the result. You can't use popen() to
      get a pipe for both input and output.

      To use a pipe for both input and output, you have to do something much
      more complicated, such as using pipe(), fork(), and exec() to set up
      the process, and select() to handle the reading and writing. It's
      not worth the trouble in most cases.

      -- Richard
      --
      Please remember to mention me / in tapes you leave behind.

      Comment

      • eerpini

        #4
        Re: Using &quot;wc&quo t; inside C program

        Please do not top-post. Your answer belongs after (or intermixed
        with) the quoted material to which you reply, after snipping all
        irrelevant material. See the following links:
        sorry for that , went through the links,
        Thanks

        Comment

        • CBFalconer

          #5
          Re: Using &quot;wc&quo t; inside C program

          eerpini wrote:
          >
          >Please do not top-post. Your answer belongs after (or intermixed
          >with) the quoted material to which you reply, after snipping all
          >irrelevant material. See the following links:
          >
          sorry for that , went through the links,
          Good for you. That's why I try to respond to top-posters early.

          --
          [mail]: Chuck F (cbfalconer at maineline dot net)
          [page]: <http://cbfalconer.home .att.net>
          Try the download section.

          Comment

          Working...