Eu falei que scanf le de arquivo mas na verdade le da entrada padrão.
O terminal no linux, ou aquela janelinha do DOS no windows.
para ler de arquivo realmente precisa do fscanf.
Com fscanf serve oq eu falei para scanf, quando chega o final do arquivo ela devolve EOF ou quantos argumentos conseguiu ler.
Uma referencia : http://www.cplusplus.com/reference/clibrary/cstdio/fscanf/
ai tem bastante informações sobre bibliotecas de c e c++
fscanf está em <stdio.h>
io vem de input output
Forum