Skip to main content
Unformatted Console I/O Functions 
main( ) 
{ 
printf ( ”Delete all files Y/N” ) ; 
ch = getchar( ) ; 
/* or ch = fgetchar( ) ; */ 
putch ( ch ) ; 
putchar ( ch ) ; 
fputchar ( ch ) ; 
} 
printf ( ”Press any key” ) ; 
getch( ) ; 
printf ( ”Another disk Y/N” ) ; 
ch = getche( ) ; 
same 
char ch ;
Peculiarities 
getch( ) - Doesn’t wait for enter. 
getche( ) - Echoes character. 
getchar( ) - Waits for enter. Macro. 
fgetchar( ) - Waits for enter. Function.
Disk I/O 
High Level / Std Disk I/O Low Level 
Text Binary 
Formatted Unformatted 
char 
int 
fprintf( ) 
float 
fscanf( ) 
string 
char - getc ( ), fgetc( ) 
putc ( ), fputc( ) 
Reads / Writes 
char by char 
int - 
float - No Std. Library Function 
string - fgets( ), fputs( ) 
Reads / Writes 
line by line 
file
Bufferred I/O 
Memory 
)) 
Buffer 
CCHH11PPRR11..CC 
Disk
Displaying File Contents 
# include ”stdio.h” 
char fname[13] ; 
printf ( ”Enter file name” ) ; 
gets ( fname ) ; 
fopen ( ) ; 
main( ) 
{ 
char ch ; 
FILE *fp ; 
fp = fname, ”r” 
while ( 1 ) 
{ 
ch = getc ( ) ; 
if ( ch == EOF ) 
break ; 
printf ( ”%c”, ch ) ; 
} 
fclose ( ) ; 
} 
fp 
fp
typedef 
unsigned long int i, j ; typedef unsigned long int uli ; 
struct employee 
{ ___ 
} ; 
struct employee e1, e2 ; 
struct a 
{ __ 
char *p ; 
} ; 
typedef struct a FILE ; 
uli i, j ; 
struct employee 
{ ___ 
} ; 
typedef struct employee emp ; 
emp e1, e2 ; 
FILE *fp ;
# include ”stdio.h” 
char fname[13] ; 
printf ( ”Enter file name” ) ; 
gets ( fname ) ; 
fopen ( ) ; 
main( ) 
{ 
char ch ; 
FILE *fp ; 
fp = fname, ”r” 
while ( 1 ) 
{ 
ch = getc ( ) ; 
if ( ch == EOF ) 
break ; 
printf ( ”%c”, ch ) ; 
} 
fclose ( ) ; 
} 
fp 
fp 
A Fresh Look 
Buffer 
40 
fp p 
40 
ffpp -->> pp == ffpp -->> pp ++ 11 ;;
Tips 
 fopen( ) - Standard Library Function to open the file. 
 fopen ( fname, ”r” ) ; - Returns NULL if file not found. 
 Every file ends with a char with ascii value 26. 
 EOF is a macro. 
# define EOF -1 
 FILE is a structure defined in stdio.h 
 getc( ) reads char  also shifts pointer to next char.
Copying Files 
char fname[13] , target[13] ; 
printf ( ”Enter source  target file names” ) ; 
gets ( fname ) ; 
gets ( target ) ; 
ft = fopen ( target, ”w” ) ; 
# include ”stdio.h” 
fopen ( ) ; 
main( ) 
{ 
char ch ; 
FILE *fs, *ft ; 
fs = fname, ”r” 
while ( 1 ) 
{ 
ch = getc ( ) ; 
if ( ch == EOF ) 
break ; 
putc ( ) ; 
ch, ft 
} 
fclose ( ) ; 
fs 
fs fclose ( ft ) ; 
}
Copying Files 
char fname[13] , target[13] ; 
printf ( ”Enter source  target file names” ) ; 
gets ( fname ) ; 
gets ( target ) ; 
ft = fopen ( target, ”w” ) ; 
# include ”stdio.h” 
fopen ( ) ; 
main( ) 
{ 
char ch ; 
FILE *fs, *ft ; 
fs = fname, ”r” 
while ( 1 ) 
{ 
ch = getc ( ) ; 
if ( ch == EOF ) 
break ; 
putc ( ) ; 
ch, ft 
} 
fclose ( ) ; 
fs 
fs fclose ( ft ) ; 
}