×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Your method should work... I'm doing similar things in some of my
projects, and I haven't had any problems.

You say "it appears as garbage"... that sure SOUNDS like a codepage issue.
Make sure that BOTH files have the correct codepage assigned to them
when they're created.   Make sure that they're BOTH opened with
O_TEXTDATA.

My thinking is that what you're doing is opening the second file without
O_TEXTDATA, thinking that it's already in ASCII.    The problem is,
O_TEXTDATA will force the data to be converted from EBCDIC to ASCII, and
if it's already ASCII, that'll give you garbage.

So, you either want to use O_TEXTDATA for BOTH files, or for neither...
If you are using O_TEXTDATA, you should be able to display the contents of
the variables from your READ/WRITE statements using STRDBG and see that
the data being written isn't garbage.

Good Luck!

On Thu, 27 Feb 2003, Leland, David wrote:

> I am attempting to create an IFS text file which has the contents of another
> IFS text file embedded somewhere in the middle of it.  I'm attempting to do
> this in an RPG program using the read() and write() API's.  Basically, I'm:
> 1) creating the first file (using an open() with O_CREAT)
> 2) writing some text to it
> 3) opening the second file
> 4) reading it
> 5) writing the contents of the second to the first
> 6) closing the second file
> 7) writing some more text to the first file
> 8) closing the first file
>
> Unfortunately, this is not working the way I'd hoped.  The contents of the
> second IFS file appear as garbage in my first file even though both are
> ASCII files.  In my RPG program, I open the first file as follows:
> Eval      FileDesc = open(%ADDR(FullName)
>             : O_CREAT + O_WRONLY + O_TRUNC +
>               O_CODEPAGE
>             : S_IRWXU + S_IROTH
>             : AsciiCodePage)
>
> Then I close it:
> Eval      ReturnInt = close(FileDesc)
>
> Then I reopen it.
> Eval      FileDesc = open(%ADDR(FullName)
>             : O_TEXTDATA + O_RDWR)
>
> Then I write some text to it.  This is the technique I always use and it's
> worked fine for other things but I can't figure out how to get the contents
> of the first to not be garbage.  I don't think it has anything to do with
> codepages but am not sure.
>


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.