The vast majority of programs get their data from one or more files and write their results to one or more files. Usually input from the user is used only to specify details of the processing that is to be performed with the files. This chapter will discuss some useful techniques for processing data from an input file.