Nп/п : 36 из 100
 От   : J-P. Rosen                          2:5075/128        23 сен 23 09:02:37
 К    : Jeffrey R.Carter                                      23 сен 23 10:05:02
 Тема : Re: Weird behavior of Get character with trailing new lines.
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 1@dont-email.me> 199c3b7c
@REPLY: 1@dont-email.me> ad9e7f67
@REPLYADDR J-P. Rosen <rosen@adalog.fr>
@REPLYTO 2:5075/128 J-P. Rosen
@CHRS: CP866 2
@RFC: 1 0
@RFC-Message-ID: 1@dont-email.me>
@RFC-References: 1@dont-email.me>
1@dont-email.me>
@TZUTC: 0200
@PID: Mozilla/5.0 (Windows NT 10.0; Win64; x64;
rv:102.0) Gecko/20100101 Thunderbird/102.15.1
@TID: FIDOGATE-5.12-ge4e8b94
Le 22/09/2023 ? 22:05, Jeffrey R.Carter a ?crit :
> On 2023-09-22 21:30, Blady wrote:
>>
>> A.10.7 Input-Output of Characters and Strings
>> For an item of type Character the following procedures are provided:
>> procedure Get(File : in File_Type; Item : out Character);
>> procedure Get(Item : out Character);
>> After skipping any line terminators and any page terminators, reads 
>> the next character from the specified input file and returns the value 
>> of this character in the out parameter Item.
>> The exception End_Error is propagated if an attempt is made to skip a 
>> file terminator.

> As you have quoted, Get (Character) skips line terminators. End_Of_File 
> returns True if there is a single line terminator before the file 
> terminator, but False if there are multiple line terminators before the 
> file terminator. So you either have to explicitly skip line terminators, 
> or handle End_Error.

And this works only if the input file is "well formed", i.e. if it has 
line terminators as the compiler expects them to be (f.e., you will be 
in trouble if the last line has no LF).
That`s why I never check End_Of_File, but handle the End_Error 
exception. It always works.
-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
https://www.adalog.fr https://www.adacontrol.fr

 --- Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.15.1
 * Origin: Adalog (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5058/104 5075/128
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх