Vastaavasti ulkoiset tiedostot voidaan yhdistää tietovirtoihin:
/* FILESTRE.CPP */
/* Ohjelma lukee kokonaislukuja sisältävän tiedoston
des.dat ja kirjoittaa siitä tiedoston hex.dat
jossa kullakin rivillä on luku 10-järjestelmässä ja heksana
Esim:
des.dat:
10 12 15 19 175
hex.dat:
10 = 0x000a
12 = 0x000c
15 = 0x000f
19 = 0x0013
175 = 0x00af
*/
#include <stdio.h>
#include <fstream.h>
#include <iomanip.h>
#define DEC(lkm) setfill(' ') << dec << setw(lkm)
#define HEX(lkm) setfill('0') << hex << setw(lkm)
int main(void)
{
ifstream fi("des.dat"); if ( !fi ) return 1;
ofstream fo("hex.dat"); if ( !fo ) return 2;
int i;
fo << setiosflags(ios::showbase | ios::internal); // Täytä heksat!
while ( fo ) {
if ( !(fi >> i) ) break;
fo << DEC(5) << i << " = " << HEX(6) << i << endl;
}
fi.close(); fo.close();
return 0;
}