Jump to content

Read a specific line from a file: Difference between revisions

m
→‎{{header|Phix}}: added syntax colouring the hard way
(simplify sed script)
m (→‎{{header|Phix}}: added syntax colouring the hard way)
Line 1,341:
=={{header|Phix}}==
No specific mechanism, but simple enough. If the file is suitably small:
<!--<lang Phix>integer fn = open("TEST.TXT","r")-->
<span style="color: #004080;">object</span> <span style="color: #000000;">lines</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">get_text</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"TEST.TXT"</span><span style="color: #0000FF;">,</span><span style="color: #004600;">GT_LF_STRIPPED</span><span style="color: #0000FF;">)</span>
sequence lines = get_text(fn,GT_LF_STRIPPED)
<span style="color: #008080;">if</span> <span style="color: #004080;">sequence</span><span style="color: #0000FF;">(</span><span style="color: #000000;">lines</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">and</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">lines</span><span style="color: #0000FF;">)>=</span><span style="color: #000000;">7</span> <span style="color: #008080;">then</span>
close(fn)
<span style="color: #0000FF;">?</span><span style="color: #000000;">lines</span><span style="color: #0000FF;">[</span><span style="color: #000000;">7</span><span style="color: #0000FF;">]</span>
if length(lines)>=7 then
<span style="color: #008080;">else</span>
?lines[7]
<span style="color: #0000FF;">?</span><span style="color: #008000;">"no line 7"</span>
else
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
?"no line 7"
end if<!--</lang>-->
For bigger files:
<!--<lang Phix>integer fn = open("TEST.TXT","r")-->
<span style="color: #004080;">integer</span> <span style="color: #000000;">fn</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">open</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"TEST.TXT"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"r"</span><span style="color: #0000FF;">)</span>
for i=1 to 6 do
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">6</span> <span style="color: #008080;">do</span>
{} = gets(fn)
<span style="color: #0000FF;">{}</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">gets</span><span style="color: #0000FF;">(</span><span style="color: #000000;">fn</span><span style="color: #0000FF;">)</span>
end for
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
?gets(fn) -- (shows -1 if past eof)
<span style="color: #0000FF;">?</span><span style="color: #7060A8;">gets</span><span style="color: #0000FF;">(</span><span style="color: #000000;">fn</span><span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- (shows -1 if past eof)</span>
close(fn)</lang>
<span style="color: #7060A8;">close</span><span style="color: #0000FF;">(</span><span style="color: #000000;">fn</span><span style="color: #0000FF;">)</span>
<!--</lang>-->
 
=={{header|Phixmonti}}==
7,815

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.