Ich habe mir einen Code aus dem Internet geholt
Die Variable RTVDTA liefert mir hex 25 00 an Stelle 81 und 82
Wenn ich die Datei über Notepad++ aufmache ist aber dort ein CR LF
Weiß jemand warum das sein kann?
Ich habe Zeile 25 bis 28 angepasst in meiner Version aber das ist nicht wichtig.
Ich habe natürlich auch meine Datei angegeben
PHP-Code:
01 ctl-opt option(*srcstmt) dftactgrp(*no) ;
02 dcl-pr OpenFile pointer extproc('_C_IFS_fopen') ;
03 *n pointer value ; //File name
04 *n pointer value ; //File mode
05 end-pr ;
06 dcl-pr ReadFile pointer extproc('_C_IFS_fgets') ;
07 *n pointer value ; //Retrieved data
08 *n int(10) value ; //Data size
09 *n pointer value ; //Misc pointer
10 end-pr ;
11 dcl-pr CloseFile extproc('_C_IFS_fclose') ;
12 *n pointer value ; //Misc pointer
13 end-pr ;
14 dcl-s PathFile char(50) ;
15 dcl-s OpenMode char(5) ;
16 dcl-s FilePtr pointer inz ;
17 dcl-s RtvData char(32767) ;
18 PathFile = '/SIMON/test_read.txt' + x'00' ;
19 OpenMode = 'r' + x'00' ;
20 FilePtr = OpenFile(%addr(PathFile):%addr(OpenMode)) ;
21 if (FilePtr = *null) ;
22 dsply ('fopen unable to open file') ;
23 return ;
24 endif ;
25 dow (ReadFile(%addr(RtvData):32767:FilePtr) <> *null);
26 RtvData = %xlate(x'00':' ':RtvData) ; //End of record null
27 RtvData = %xlate(x'25':' ':RtvData) ; //Line feed (LF)
28 RtvData = %xlate(x'0D':' ':RtvData) ; //Carriage return (CR)
29 dsply %subst(RtvData:1:52) ;
30 RtvData = ' ' ;
31 enddo ;
32 CloseFile(%addr(PathFile)) ;
33 return ;
Bookmarks