Fixed length records: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (syntax highlighting fixup automation) |
(→{{header|TXR}}: New section.) |
||
Line 1,586: | Line 1,586: | ||
............................................................8 enil detnednI |
............................................................8 enil detnednI |
||
NIGRAM TR 9 eniL</pre> |
NIGRAM TR 9 eniL</pre> |
||
=={{header|TXR}}== |
|||
At the shell prompt: |
|||
<pre> |
|||
$ txr -e '(let ((buf (make-buf 80)) |
|||
(nread 80)) |
|||
(while (eql nread 80) |
|||
(set nread (fill-buf-adjust buf)) |
|||
(buf-set-length buf 80) |
|||
(put-buf (nreverse buf))))' < infile80.bin > outfile80.bin |
|||
$ dd if=outfile80.bin cbs=80 conv=unblock |
|||
8.........7.........6.........5.........4.........3.........2.........1...1 eniL |
|||
2 eniL |
|||
3 eniL |
|||
4 eniL |
|||
6 eniL |
|||
7 eniL |
|||
............................................................8 enil detnednI |
|||
NIGRAM TR 9 eniL |
|||
1+1 records in |
|||
1+1 records out |
|||
725 bytes copied, 8.658e-05 s, 8.4 MB/s |
|||
</pre> |
|||
This handles a final bit that is shorter than 80. When <code>buf-set-length</code> sets the buffer size back to 80, zero padding is applied. The zero-padded record is reversed. |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |