home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / lang / c / 19328 < prev    next >
Encoding:
Internet Message Format  |  1993-01-11  |  1.6 KB

  1. Xref: sparky comp.lang.c:19328 comp.os.vms:20460
  2. Path: sparky!uunet!paladin.american.edu!gatech!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!uknet!miclon!nreadwin
  3. From: nreadwin@micrognosis.co.uk (Neil Readwin)
  4. Newsgroups: local.unix.help,comp.lang.c,comp.os.vms
  5. Subject: Re: Using C to read Fortran Files
  6. Message-ID: <C0GAn3.55z@micrognosis.co.uk>
  7. Date: 6 Jan 93 21:06:39 GMT
  8. References: <C0Fyo3.70D@ccu.umanitoba.ca> <C0G1rw.81L@ccu.umanitoba.ca>
  9. Sender: news@micrognosis.co.uk
  10. Organization: Micrognosis, a division of CSK(UK) Ltd
  11. Lines: 29
  12.  
  13. kaarts@ccu.umanitoba.ca (Kenneth John Aarts) writes:
  14. |> [...]
  15. |> >    write(1,10) 'cArt'
  16. |> >10    format(a4)
  17. |> [...]
  18. |> >    fp=fopen("test","r");
  19. |> >    fscanf(fp,"%c%c%c%c%c",&d1,&d2,&d3,&d4,&d5);
  20. |> >    printf("%d %d %d %d %d\n",d1,d2,d3,d4,d5);
  21. |> 
  22. |> >The output of the C program is:
  23. |> >  10  65  114  116   13
  24. |> [...]
  25. |> This is all done on VMS.  The fortran created file has a 'fortran carriage
  26. |> control' record attribute.
  27.  
  28. Something (my guess would be the VAX C RTL) is carefully stripping out the
  29. carraige control character ('c') and replacing it with what it thinks is the
  30. appropriate carraige control (precede with LF and append CR). Indeed, if
  31. you change the 'c' to say '1' or '-' then you will get a different result.
  32.  
  33. If you change the fopen() call to be:
  34.     fp=fopen("test","r","ctx=nocvt");
  35. then you will get the 'c'. However, note that '1' will still be converted to
  36. form-feed. Gak!
  37.  
  38. This is VMS specific, so followups to comp.os.vms only please. Neil.
  39. -- 
  40.  Phone: +44 71 815 5283  E-mail: nreadwin@micrognosis.co.uk
  41.  Anything is a cause for sorrow that my mind or body has made
  42.