Because C uses the backslash (\) as an escape character, it's easy to create garbled path specifications:
fp = fopen( "c:\temp\bodkin.txt", "w" );
At first glance, the path specification in the string
"c:\temp\bodkin.txt"
looks good because that's how you would type it on the DOS command line. In a quoted string, however, the backslash is interpreted as an escape character. In this string the sequences \t and \b are interpreted as the tab and backspace character, respectively, garbling the path and filename. Even if the indicated file exists, this call to fopen is sure to fail.
In a quoted string the escape sequence for a backslash character is a double backslash (\\). This statement solves the problem:
fp = fopen( "c:\\temp\\bodkin.txt", "w" );